当前位置: 首页 > news >正文

mysql mybatis批量删除_Mybatis批量删除和更新,中文注释插件

包含3个插件和一个定制的中文注释生成器

批量插入插件 - com.zzh.mbg.plugin.MysqlBatchInsertPlugin

批量更新插件 - com.zzh.mbg.plugin.MysqlBatchUpdatePlugin

批量非空更新插件 - com.zzh.mbg.plugin.MysqlBatchUpdateSelectivePlugin

中文注释生成器 - com.zzh.mbg.GeneralCommentGenerator

仅支持Mysql数据库

需要Mybatis3.3及以上版本

基于注解的方式

示例

注释

/**

*

* 对应数据库表: student

*/

public class Student {

/**

* 物理主键

*

* 对应表字段: student.id

*/

private Integer id;

/**

* 名称

*

* 对应表字段: student.name

*/

private String name;

...

}

批量插入/更新/非空更新Mapper,详见示例和测试用例

/**

* 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 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 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 list);

批量插入/更新/非空更新SqlProvider,详见示例和测试用例

批量插入基于:

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

** 批量更新基于Case When语法:**

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 ((?),(?))

相关文章:

  • mysql启动错误1455_PL/SQL“ ORA-14551: 无法在查询中执行 DML 操作”解决
  • ubuntu安装mysql集群_Ubuntu 20.10单机安装MySQL 8.0.22 NDB集群
  • java序列化工具类_java对象序列化及反序列化SerializeUtils工具类
  • java dispatchevent_这段程序的单击事件不能执行,点击后出现如下错误:at java.awt.Component.dispatchEventImpl(Unknown Sou...
  • java kerberos配置_为kerberos配置Storm
  • java nodelist 快速排序_数据结构的实践心得(归并排序和快速排序:mergeSort、quickSort)...
  • java xml setdoctype_集合Set映射一对多(使用xml文件)
  • java dofinalize_Java finalize方法使用
  • java调用ecdh_Jecc(java椭圆曲线加密库)学习笔记及ECDH实现
  • java雷达_Java编写有关雷达问题,哪位高手帮个忙,谢谢~~~
  • 继承java_Java— 继承
  • java guid_细说Java生成GUID的实现方法
  • java多租户_(九十二)java版spring cloud 多租户社交电子商务-gateway(实现限流)...
  • foxpro mysql_Foxpro数据库命令汇总
  • java generatedvalue_java – 在JPA @GeneratedValue列中手动指定主键的值
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • 2019年如何成为全栈工程师?
  • css选择器
  • Next.js之基础概念(二)
  • Object.assign方法不能实现深复制
  • Promise面试题,控制异步流程
  • React-flux杂记
  • 基于webpack 的 vue 多页架构
  • 排序(1):冒泡排序
  • 如何胜任知名企业的商业数据分析师?
  • 为视图添加丝滑的水波纹
  • 因为阿里,他们成了“杭漂”
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • 新海诚画集[秒速5センチメートル:樱花抄·春]
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • ###C语言程序设计-----C语言学习(3)#
  • #Z2294. 打印树的直径
  • (C语言)二分查找 超详细
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (vue)el-checkbox 实现展示区分 label 和 value(展示值与选中获取值需不同)
  • (转)scrum常见工具列表
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • *setTimeout实现text输入在用户停顿时才调用事件!*
  • .bat批处理(七):PC端从手机内复制文件到本地
  • .NET LINQ 通常分 Syntax Query 和Syntax Method
  • .net 获取url的方法
  • .Net 垃圾回收机制原理(二)
  • .NET8.0 AOT 经验分享 FreeSql/FreeRedis/FreeScheduler 均已通过测试
  • .NET开发者必备的11款免费工具
  • .NET业务框架的构建
  • .vimrc php,修改home目录下的.vimrc文件,vim配置php高亮显示
  • @Autowired注解的实现原理
  • @synthesize和@dynamic分别有什么作用?
  • [28期] lamp兄弟连28期学员手册,请大家务必看一下
  • [Apio2012]dispatching 左偏树
  • [AX]AX2012开发新特性-禁止表或者表字段
  • [BJDCTF 2020]easy_md5
  • [C++]C++基础知识概述
  • [CF]Codeforces Round #551 (Div. 2)