![](https://img-blog.csdnimg.cn/20200210171537288.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
MyBatis
MyBatis
时光·漫步zth
辛酸泪,影单醉。
展开
-
Mybatis——工作原理
流程 加载 mybatis 全局配置文件(数据源、事务、mapper映射文件等),解析配置文件,MyBatis基于XML配置文件生成Configuration,和一个个 MappedStatement(包括了参数映射配置、动态SQL语句、结果映射配置),其对应着<select | update | delete | insert>标签项。 SqlSessionF...原创 2019-06-08 16:48:49 · 1134 阅读 · 0 评论 -
Mybatis—— 映射参数
1. 简单数据类型<select id="countFirstName" parameterType="String" resultType="int"> select count(*) as total from students where name like concat('%',#{name},'%');</select>Dao 接口中:...原创 2019-06-15 16:42:32 · 1445 阅读 · 0 评论 -
Mybatis—— 主键回填
在 MySQL 中主键自增字段,在插入后往往需要获得这个主键,以便于后面的操作,而 MyBatis 提供了实现的方法。首先可以使用 keyProperty 属性指定哪个是主键字段,同时使用 useGeneratedKeys属性告诉 MyBatis 这个主键是否使用数据库内置策略生成。<insert id="addStudent" parameterType="com.pojo....原创 2019-06-15 19:38:18 · 2156 阅读 · 0 评论 -
Mybatis—— 嵌套查询
1. 一对一映射数据库表:java bean:public class Stu { private int id; private int clazzId; private String name; private String sex; private int age; private Score score; /*getter sett...原创 2019-06-20 21:33:57 · 196 阅读 · 0 评论 -
Mybatis—— 缓存
1. 一级缓存 MyBatis 对缓存提供支持,俣是在没有配置的默认情况下,它只开启一级缓存,一级缓存只是相对于同一个 SqlSession 而言。所以在参数和 SQL 完全一样的情况下,我们使用同一个 SqlSession 对像调用同一个Mapper 的方法,往往只执行一次 SQL,因为使用 SqlSession 第一次查询后,MyBatis 会将其在缓存中,以后再查询的时候,如果没有声明...原创 2019-06-21 00:44:16 · 314 阅读 · 0 评论 -
Mybatis—— 动态SQL
MyBatis 的强大特性之一便是它的动态 SQL。动态 SQL 元素和 JSTL 或基于类似 XML 的文本处理器相似。MyBatis 采用功能强大的基于 OGNL 的表达式来淘汰其它大部分元素。if choose (when, otherwise) trim (where, set) foreach1. if动态 SQL 通常要做的事情是根据条件包含 where 子句的...原创 2019-06-21 10:39:00 · 183 阅读 · 0 评论