AND created_time < #{endDay}
SELECT * FROM contact
AND name LIKE #{keyword}
AND created_time > #{beginDay}
AND created_time < #{endDay}
sql 标签用于抽取公共的 sql 语句
SELECT * FROM skill
WHERE id = #{id}
可见下面的批量添加、批量删除
=====================================================================
INSERT INTO skill(name, level) VALUES(#{name}, #{level})
注意:openSession 的参数默认值是 false,不自动提交事务
Skill skill = new Skill();
skill.setLevel(3);
skill.setName(“打架”);
session.insert(“skill.insert”, skill);
session.commit();
设置新插入记录的主键 (id) 到参数对象中:
INSERT INTO skill(name, level) VALUES (#{name}, #{level})
SELECT LAST_INSERT_ID()
还有一种方法:使用 useGeneratedKeys、keyProperty 属性
- 需要数据库驱动支持,比如可以适用于 MySQL,不适用于 Oracle
<insert id=“insert”
useGeneratedKeys=“true”
keyProperty =“id”
parameterType=“com.mj.bean.Skill”>
INSERT INTO skill(name, level) VALUES (#{name}, #{level})
<insert id=“batchInsert”
useGeneratedKeys=“true”
keyProperty=“id”
parameterType=“List”>
INSERT INTO skill(name, level) VALUES
(#{skill.name}, #{skill.level})
List skills = new ArrayList<>();
skills.add(new Skill(“Java1”, 111));
skills.add(new Skill(“Java2”, 222));
session.insert(“skill.batchInsert”, skills);
批量添加的效率比【多次单个添加】要高,但是它无法使用 <selectedKey>
获取新插入记录的主键
- 可以使用 useGeneratedKeys 获取主键
批量操作生成的 SQL 语句可能会比较长,有可能会超过数据库的限制
如果传进来的参数是 List,collection 属性值为 list 就可以遍历这个 List
如果传进来的参数是数组,collection 属性值为 array 就可以遍历这个数组
=====================================================================
UPDATE skill SET name = #{name}, level = #{level} WHERE id = #{id}
Skill skill = new Skill(“Java”, 666);
skill.setId(21);
session.update(“skill.update”, skill);
=====================================================================
DELETE FROM skill WHERE id = #{id}
session.delete(“skill.delete”, 10;
总结
大型分布式系统犹如一个生命,系统中各个服务犹如骨骼,其中的数据犹如血液,而Kafka犹如经络,串联整个系统。这份Kafka源码笔记通过大量的设计图展示、代码分析、示例分享,把Kafka的实现脉络展示在读者面前,帮助读者更好地研读Kafka代码。
麻烦帮忙转发一下这篇文章+关注我
用 foreach 标签
总结
大型分布式系统犹如一个生命,系统中各个服务犹如骨骼,其中的数据犹如血液,而Kafka犹如经络,串联整个系统。这份Kafka源码笔记通过大量的设计图展示、代码分析、示例分享,把Kafka的实现脉络展示在读者面前,帮助读者更好地研读Kafka代码。
麻烦帮忙转发一下这篇文章+关注我
[外链图片转存中…(img-mwTMEH6K-1719179460108)]