盡量使用代碼生成器來生成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
分頁
- 如果沒有用代碼生成器,就用這個:https://github.com/pagehelper/Mybatis-PageHelper
- 如果用了代碼生成器,則繼承生成器里的PluginAdapter,讓自動生成分頁代碼:MyBatis Generator實現(xiàn)MySQL分頁插件
將自己寫的類配置到generatorConfig.xml的context標(biāo)簽下的plugin中即可.
插入時自動給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