标签归档:Mybatis

Mybatis.generator 自动生成domain、dao、mapper

  我们都知道使用mybatis比较繁琐的是手写domain、dao 和 sqlmap 文件,自己编写不仅容易耗时而且增加了出错的风险,那有没有一种自动化生成sqlmap的工具呢?接下来我们就介绍两款不错的工具。

common-dao

这是一款自己编写的sqlmap生成工具,实现原理是通过Velocity模板模板引擎,预先定义一个模板sqlmap.vm文件,然后通过DaoHelp类把Domain、表名、Dao等注入到Context中,通过反射获取Domain的每个属性,再把解析出来的值注入到vm模板中,生成需要的sqlmap文件。
此框架的优势是:简洁的代码结构、清晰的架构分割,domain、dao、manager三层结构,分成清晰,其次,对表结构设计也有一定的约定,比如id、is_delete、gmt_create、gmt_modified 等,对团队内部编码统一化有一定约束作用。
弊端: 需要编写domain、dao、manager等代码,略繁琐;对数据库层面设置的默认值无法支持;无法更新数据为null等。

mybatis.generator

这个是MyBatis官方推出的一款可以根据表结构自动生成domain、dao、mapper的工具。它通过连接数据库中的表,解析表结构自动解析字段,转换为驼峰形式字段,POJO对象会生成两个,一个为Basic、一个为Criteria,一个Mapper对象,一个sqlmap.xml文件。其次,Generator还提供了一系列插件,比如toString、hashCode、Serializable等,可以对POJO对象进行扩展,用户也可以继承PluginAdapter实现自定义插件,比如分页查询。
使用方法:

①maven依赖:

<dependency>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-core</artifactId>
    <version>1.3.2</version>
</dependency>

②配置generator.xml 文件:

继续阅读

Advertisements