美文网首页
mybatis Generator最佳实践

mybatis Generator最佳实践

作者: xiaochen0620 | 来源:发表于2018-05-18 20:03 被阅读0次

[Mybatis Generator最完整配置详解]

尽量使用代码生成器来生成mapper代码,能不手写绝不手写.

官网: http://www.mybatis.org/generator/

代码生成器配置

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

代码路径:MyBatisGen.java
配置文件路径:generatorConfig.xml

  • 生成之后拷贝到项目中,然后删除生成路径上的代码,否则下次生成会直接在mapper.xml后面追加,导致文件错误,项目运行不了
  • 使用creatira的like时,要自己传入两个百分号
example.createCriteria().andNameLike("%"+findContent+"%");

配置的gui工具

https://github.com/astarring/mybatis-generator-gui

[ image.png

]

https://github.com/zhongxintech/generator-web

分页

插入时自动给id赋值:

默认情况下是没有赋值的.
注意,identity默认为false,此时生成的sql的order为BEFORE.而我们需要的是插入后查询id并给bean赋值,所以需要的是AFTER,所以identity为true.

//generatorConfig.xml里的配置:
<table schema="" tableName="expert">
    <generatedKey column="id" sqlStatement="SELECT LAST_INSERT_ID()" identity="true"/><!--插入时自动生成selectkey,identity为true时,为after-->
</table>

//生成的mapper.xml:
<insert id="insert" parameterType="com.sojson.experts.po.Expert">
    <selectKey keyProperty="id" order="BEFORE" resultType="java.lang.Integer">
      SELECT LAST_INSERT_ID()
    </selectKey>
    insert into expert (Id, name, shortname, 
...

分页时,获取某一查询条件下的总数

默认就有,countbyexample

让生成的sql的字段用反引号括起来,以避免与mysql保留字段冲突:

先在context标签下加上反引号的定义:
<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>

然后在table标签的属性里开启delimitAllColumns:

<table schema="" tableName="qxinli_activity_card" delimitAllColumns="true">

text类型 -避免生成blob类型

在table标签内:
<columnOverride column="address" javaType="java.lang.String" jdbcType="VARCHAR" />  

批量插入

参考:mybatis generator一对一映射,一对多映射,批量插入,批量更新
代码:generator插件
https://github.com/itfsw/mybatis-generator-plugin

其他插件库:

https://github.com/handosme/mybatis-generator-plus
https://github.com/search?utf8=%E2%9C%93&q=+mybatis+generator+plugins&type=Repositories

官方插件

http://www.mybatis.org/generator/reference/plugins.html

代码:

https://github.com/hss01248/mybatis-gen

作者:石野小真人
链接:https://www.jianshu.com/p/507fcf2f6fbc
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

相关文章

网友评论

      本文标题:mybatis Generator最佳实践

      本文链接:https://www.haomeiwen.com/subject/rmrndftx.html