Mybatis批量刪除和更新,中文注釋插件

包含3個(gè)插件和一個(gè)定制的中文注釋生成器

  • 批量插入插件 - com.zzh.mbg.plugin.MysqlBatchInsertPlugin
  • 批量更新插件 - com.zzh.mbg.plugin.MysqlBatchUpdatePlugin
  • 批量非空更新插件 - com.zzh.mbg.plugin.MysqlBatchUpdateSelectivePlugin
  • 中文注釋生成器 - com.zzh.mbg.GeneralCommentGenerator

MGB Mysql擴(kuò)展插件源碼及使用說(shuō)明

僅支持Mysql數(shù)據(jù)庫(kù)
需要Mybatis3.3及以上版本
基于注解的方式

示例

  1. 注釋
/**
 *
 * 對(duì)應(yīng)數(shù)據(jù)庫(kù)表: student
 */
public class Student {
    /**
     * 物理主鍵
     *
     * 對(duì)應(yīng)表字段: student.id
     */
    private Integer id;

    /**
     * 名稱
     *
     * 對(duì)應(yīng)表字段: student.name
     */
    private String name;
   
    ...
}
  1. 批量插入/更新/非空更新Mapper,詳見(jiàn)示例測(cè)試用例
    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table student
     *
     * @mbg.generated
     */
    @InsertProvider(type=StudentSqlProvider.class, method="batchInsert")
    @Options(useGeneratedKeys=true,keyProperty="id")
    int batchInsert(List<Student> list);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table student
     *
     * @mbg.generated
     */
    @UpdateProvider(type=StudentSqlProvider.class, method="batchUpdateByPrimaryKey")
    int batchUpdateByPrimaryKey(List<Student> list);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table student
     *
     * @mbg.generated
     */
    @UpdateProvider(type=StudentSqlProvider.class, method="batchUpdateSelectiveByPrimaryKey")
    int batchUpdateSelectiveByPrimaryKey(List<Student> list);
  1. 批量插入/更新/非空更新SqlProvider,詳見(jiàn)示例測(cè)試用例

批量插入基于:

INSERT INTO table (field1,field2,field3) VALUES (value1,value2,value3), (value1,value2,value3),(value1,value2,value3)

** 批量更新基于Case When語(yǔ)法:**

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

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

  • 1. 簡(jiǎn)介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存儲(chǔ)過(guò)程以及高級(jí)映射的優(yōu)秀的...
    笨鳥(niǎo)慢飛閱讀 6,248評(píng)論 0 4
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚(yú)_t_閱讀 34,740評(píng)論 18 399
  • 今年2016年的前兩個(gè)月讀書(shū)共7本,其中兩本雜志。 兩本悅己雜志是我每個(gè)月都會(huì)買來(lái)看的,上面又好看的衣服和包包還有...
    趙亞寫(xiě)讀書(shū)筆記閱讀 121評(píng)論 0 0
  • 童年的故鄉(xiāng)里,到處都是相似的平房,特別富裕的家庭才能建起兩層小樓。一座座平房很少有長(zhǎng)得一樣的,每一家都像...
    燈籠麻麻閱讀 1,011評(píng)論 0 0
  • 我一向是沒(méi)有數(shù)學(xué)思維的,從小就數(shù)學(xué)差,所以理所當(dāng)然地選擇了文科。 今天專家來(lái)學(xué)校指導(dǎo)數(shù)學(xué)教學(xué),因?yàn)殡A梯教室剛改裝好...
    莜薇閱讀 473評(píng)論 0 1

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