MyBatis
huangyuanzhi.top
这个作者很懒,什么都没留下…
展开
-
MyBatis注解式开发
注解的基础知识MyBatis 的注解,主要是用于替换映射文件。而映射文件中无非存放着增、删、改、查的 SQL 映射标签。所以, MyBatis 注解,就是要替换映射文件中的 SQL 标签。MyBatis 官方文档中指出,若要真正想发挥 MyBatis 功能,还是要用映射文件。即 MyBatis 官方并不建议通过注解方式来使用 MyBatis。注解的基础语法注解后是没有分号的。注解首字母是大写的,因为注解与类、接口是同一级别的。一个注解,后台对应着。一个@interface 类。在同一语法单元原创 2020-08-25 20:03:26 · 285 阅读 · 0 评论 -
MyBatis查询缓存
查询缓存的使用,主要是为了提高查询访问速度。将用户对同一数据的重复查询过程简化,不再每次均从数据库查询获取结果数据,从而提高访问速度。MyBatis 的查询缓存机制,根据缓存区的作用域(生命周期) 可划分为两种: 一级查询缓存与二级查询缓存。一级查询缓存MyBatis 一级查询缓存是基于 org.apache.ibatis.cache.impl.PerpetualCache 类的 HashMap本地缓存,其作用域是 SqlSession。在同一个 SqlSession 中两次执行相同的 sql 查询原创 2020-08-15 00:10:44 · 212 阅读 · 0 评论 -
MyBatis延迟加载
延迟加载MyBatis 中的延迟加载,也称为懒加载,是指在进行关联查询时, 按照设置延迟规则推迟对关联对象的 select 查询。 延迟加载可以有效的减少数据库压力。注意:MyBatis 的延迟加载只是对关联对象的查询有迟延设置,对于主加载对象都是直接执行查询语句的。关联对象加载时机MyBatis 根据对关联对象查询的 select 语句的执行时机,分为三种类型:直接加载、侵入式延迟加载与深度延迟加载。直接加载: 执行完对主加载对象的 select 语句,马上执行对关联对象的 selec原创 2020-08-07 21:08:29 · 130 阅读 · 0 评论 -
MyBatis关联查询
关联查询当查询内容涉及到具有关联关系的多个表时, 就需要使用关联查询。根据表与表间的关联关系的不同,关联查询分为四种:(1)一对一关联查询(2)一对多关联查询(3)多对一关联查询(4)多对多关联查询日常工作中最常见的关联关系是一对多、多对一与多对多,一对一关联查询的解决方案与多对一解决方案是相同的。一对多关联查询这里的一对多关联查询是指,在查询一方对象的时候,同时将其所关联的多方对象也都查询出来。下面以国家 Country 与部长 Minister 间的一对多关系进行演示。(1) 定义原创 2020-08-01 20:55:18 · 186 阅读 · 0 评论 -
MyBatis的CURD操作(动态SQL)
动态SQL动态 SQL,主要用于解决查询条件不确定的情况:在程序运行期间,根据用户提交的查询条件进行查询。提交的查询条件不同,执行的 SQL 语句不同。若将每种可能的情况均逐一列出,对所有条件进行排列组合,将会出现大量的 SQL 语句。此时,可使用动态 SQL 来解决这样的问题。动态 SQL,即通过 MyBatis 提供的各种标签对条件作出判断以实现动态拼接 SQL 语句。这里的条件判断使用的表达式为 OGNL 表达式。 常用的动态 SQL 标签有<if/>、 <where/>、原创 2020-06-05 20:13:41 · 233 阅读 · 0 评论 -
MyBatis的CURD操作(Mapper动态代理)
在前面例子中 (Dao接口实现类) 自定义 Dao 接口实现类时发现一个问题: Dao 的实现类其实并没有干什么实质性的工作,它仅仅就是通过 SqlSession 的相关 API 定位到映射文件 mapper 中相应 id 的 SQL 语句,真正对 DB 进行操作的工作其实是由框架通过 mapper 中的 SQL 完成的。所以, MyBatis 框架就抛开了 Dao 的实现类,直接定位到映射文件 mapper 中的相应 SQL语句,对 DB 进行操作。这种对 Dao 的实现方式称为 Mapper 的动态代原创 2020-06-02 15:17:11 · 251 阅读 · 0 评论 -
MyBatis的CURD操作(Dao接口实现类)
CURD 操作,即指对数据库中实体对象的增 Create、改 Update、查 Read、删 Delete 操作。自定义 Dao 接口实现类项目实例(1)定义实体类public class Student { private Integer id; private String name; private int age; private double score;(2)定义 Dao 接口public interface IStudentDao { void insertStude原创 2020-05-26 12:56:17 · 514 阅读 · 0 评论 -
MyBatis入门与实例
框架框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。可以说,一个框架是一个可复用的设计构件,它规定了应用的体系结构,阐明了整个设计、协作构件之间的依赖关系、责任分配和控制流程,表现为一组抽象类以及其实例之间协作的方法,它为构件复用提供上下文(Context)关系。——百度百科对于程序员来说...原创 2020-03-20 13:30:43 · 212 阅读 · 0 评论