摘要: 十五、MyBatis运行原理 1. 运行过程中涉及到的类或接口 Resources(C): 用于加载MyBatis核心配置文件 XMLConfigBuilder(C):用于解析xml文件(核心配置文件) Configuration(C):用于存放xml文件解析后的结果 DefaultSqlSessi 阅读全文
posted @ 2019-05-11 10:52 KendyHo 阅读(104) 评论(0) 推荐(0)
摘要: 十四、注解 1. 注解开发 (1) 注解是用于描述代码的代码. 例如: @Test(用于描述方法进行 junit 测试 ), @Override(用于描述方法的重写 ), @Param(用于描述属性的名称) (2) 注解的使用风格: @xxx(属性), 使用前必须先导包 (3) 使用注解一般用于简化 阅读全文
posted @ 2019-05-11 10:51 KendyHo 阅读(121) 评论(0) 推荐(0)
摘要: 十三、多表关联查询 1. 业务装配实现 业务装配实现多表查询(多对一) mapper 层只做单表查询操作, 在 service 层进行手动装配,实现关联查询的结果. (1) 实体类 创建班级类(Clazz) 和学生类(Student), 并在 Student 中添加一个 Clazz 类型的属性, 用 阅读全文
posted @ 2019-05-11 10:50 KendyHo 阅读(225) 评论(0) 推荐(0)
摘要: 十二、列名和属性名 1. 解决列名和属性名不一致问题 如果查询时使用 resultType 属性 , 表示采用 MyBatis 的Auto-Mapping(自动映射) 机制, 即相同的列名和属性名会自动匹配. 因此, 当数据库表的列名和类的属性名不一致时,会导致查不到数据. 解决该问题可以有两种方式 阅读全文
posted @ 2019-05-11 10:49 KendyHo 阅读(167) 评论(0) 推荐(0)
摘要: 十一、MyBatis的缓存机制 缓存用于提高查询的效率. MyBatis 的缓存是使用 SQL 标签的 ID 作为缓存的唯一标识的. 执行相同的标签可以使用缓存. 不同的标签不能使用缓存. MyBatis 中有两种缓存机制. 1. 一级缓存 (1) 默认开启 . 线程级别的缓存, SqlSessio 阅读全文
posted @ 2019-05-11 10:48 KendyHo 阅读(92) 评论(0) 推荐(0)
摘要: 十、动态SQL 根据条件的不同, SQL 语句也会随之动态的改变. MyBatis 中,提供了一组标签用于实现动态 SQL. 1. <if> 用于进行条件判断, test 属性用于指定判断条件. 为了拼接条件, 在 SQL 语句后强行添加 1=1 的恒成立条件. <select id="sel" r 阅读全文
posted @ 2019-05-11 10:47 KendyHo 阅读(107) 评论(0) 推荐(0)
摘要: 九、多参数传递 通过接口绑定解决多参数的传递 1. 方式一 (1) 接口中定义方法 User selByUP(String username, String password); (2) 映射文件中提供对应的标签. 此时, SQL 语句中获取方式有两种, 通过#{index} 或#{param+数字 阅读全文
posted @ 2019-05-11 10:45 KendyHo 阅读(143) 评论(0) 推荐(0)