mybatis动态拼接实现有条件的插入

网友投稿 688 2022-10-26

mybatis动态拼接实现有条件的插入

mybatis动态拼接实现有条件的插入

目录动态拼接实现有条件的插入最近在做项目的时候遇到了一个很现实的问题mybatLhqmJZjZMHis插入语句mybatis插入语句一般都是这样写

动态拼接实现有条件的插入

最近在做项目的时候遇到了一个很现实的问题

那就是根据场景不同,然后实现有条件的插入,说穿了就是当这列有数据的时候进行数据的插入,没有数据的时候自动忽略这列。

其实这些在mybatis的api中有涉及到,但是之前一直没有好好看,直到最近用到了才认真的看了看这块的内容。

insert into base_department_staff

status,

group_id,

staff_code,

realname,

create_time,

phone,

is_temporary

email,

user_id,

sex,

#{param.status},

#{param.groupId},

#{param.staffCode},

#{param.realname},

#{param.phone},

#{param.temporary}

#{param.email},

#{param.userId},

#{param.sex},

这里头的trim相信就不用多说了,经常用来去空格。这个trim标签中有三个属性,prefix这个是表明了你要拼接sql的前缀,suffLhqmJZjZMHix这个则是表明了动态sql的后缀,suffixOverrides这个会帮助我去掉最后一个多出来的逗号。

mybatis插入语句

mybatis插入语句一般都是这样写

useGeneratedKeys 取值范围true|false 默认值是:false。含义:设置是否使用JDBC的getGenereatedKeys方法获取主键并赋值到keyProperty设置的领域模型属性中。

之前一直以为useGeneratedKeys="true"是让mysql数据库主键新增,其实是,插入语句后将id赋值给实体bean,即使用insert后,使用bean.getId()可以获得值,若是false,bean.getId()=null。

不管true还是false,数据库插入的数据,都会自动生成主键(前提是设置自动增长主键)。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Optimize-Offline是Windows 10离线镜像优化框架
下一篇:IO(四)BufferedWriter和 BufferedReader
相关文章

 发表评论

暂时没有评论,来抢沙发吧~