mybatis Generator最佳實踐(數(shù)據(jù)庫:mysql)

Mybatis Generator最完整配置詳解

盡量使用代碼生成器來生成mapper代碼,能不手寫絕不手寫.

官網(wǎng): 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后面追加,導(dǎo)致文件錯誤,項目運行不了
  • 使用creatira的like時,要自己傳入兩個百分號
example.createCriteria().andNameLike("%"+findContent+"%");

配置的gui工具

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

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

分頁

插入時自動給id賦值:

默認(rèn)情況下是沒有賦值的.
注意,identity默認(rèn)為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, 
...

分頁時,獲取某一查詢條件下的總數(shù)

默認(rèn)就有,countbyexample

讓生成的sql的字段用反引號括起來,以避免與mysql保留字段沖突:

先在context標(biāo)簽下加上反引號的定義:
<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>

然后在table標(biāo)簽的屬性里開啟delimitAllColumns:

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

text類型 -避免生成blob類型

在table標(biāo)簽內(nèi):
<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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • afinalAfinal是一個android的ioc,orm框架 https://github.com/yangf...
    passiontim閱讀 15,884評論 2 45
  • 做為一名產(chǎn)品小白,并且還有在轉(zhuǎn)型路上的小白,在自己能力以及知識沒有一定的沉墊前,可能還不應(yīng)孩去談我所在行業(yè)的產(chǎn)...
    澎大力閱讀 604評論 1 49
  • 將自己的愛情故事搬上大熒幕,也許是最高調(diào)、最浪漫的秀恩愛方式,而來自巴基斯坦的喜劇演員庫米爾·南賈尼就做到了,他把...
    染血黑兔子閱讀 682評論 0 1

友情鏈接更多精彩內(nèi)容