1.为什么session.commit()可以引起事务的提交?
首先打开commit()源码,ctrl+H打开它的实现类DefaultSession,找到它的commit方法
ctrl+左键executor,进入它的接口并打开它的实现类BaseExecutor
在最底层的commit()方法里边进行了事务的提交,所以SqlSession.commit()方法可以引起事务的提交
2.ResultMap结果映射
为什么需要ResultMap?
因为DB中的Table的列名和Java对象中的属性名不一致时需要手工映射
ResultMap实现代码
注:select标签中的resultMap和resultType不允许同时出现
3.执行添加后返回自增列的值
首先在insert节点中添加一个selectKey节点配置如下
属性keyProperty的值要和实体类中的id属性一致
4.多条件查询
多条件查询可以使用Map集合查询,也可以使用索引号查询
实体类实现代码
5.智能标签
智能标签分为:where ,if ,choose,foreach
where if类似于多重if判断
choose类似于switch结构
foreachArray类型
foreach<自定义>
foreachList类型
原文地址:https://www.cnblogs.com/xuchangqi1/p/8467538.html
时间: 2024-11-02 23:38:43