MyBatis自动生成的几点注意事项
MyBatis开始写基础的SQL蛮麻烦的,放Google搜了搜,发现有个不错的插件MyBatis-Plugin
,可以自动生成这些CRUD的基础语句,OK就用它了。至于如何激活,呵呵。。
MyBatis-Generator配置
直接在resources
用插件新建文件mybatis-generator-config.xml
,然后编辑其中注释中带!!!!的地方,主要有以下几个地方。
1 | <!-- !!!! Driver Class Path !!!! --> |
其中Driver Class Path
当时用最新的6.0.4,无法自己生成,放狗搜了后,改成低版本就OK了。
然后另一个问题就是表与Domain类名字、域名字不相同的情况,直接在Table Configurations里面改就好。
1 | <table tableName="t_teacher" enableCountByExample="false" enableDeleteByExample="false" enableSelectByExample="false" |
重点就是tableName
,domainObjectName
, columnRenameingRule
,从字面意思就好理解。
MyBatis Mapper日志中显示SQL语句
在日志方面选择过好几次log4j, log4j2,后来改成了logback,显示SQL语句只需要在配置文件中增加一条。
1 | <logger name="com.liangwu.courses.domain.mapper" level="DEBUG"></logger> |
插入新数据后,获取ID
一般主键ID都是自动生成的,所以插入新数据的时候ID都是数据库自动生成的,如何在插入数据后Domain获得这个ID呢,最开始自己脑子发热,插入后查询。后来放狗搜,在配置文件里面改改就OK。
1 | <insert id="insert" parameterType="com.liangwu.courses.domain.Teacher" useGeneratedKeys="true" keyColumn="t_id" keyProperty="id" > |
在insert配置的时候加useGeneratedKeys="true" keyColumn="t_id" keyProperty="id"
三项,insert后就可以直接getId()了。