随笔分类 -  Mybatis3由浅入深学习(跟着官网走)

摘要:13.光脚造飞机自定义MyBatis 首先Mybatis最重要的几个类和接口 class Resources(加载配置文件的类) class SqlSessionFactoryBuilder(创建SqlSessionFactory工厂类) interface SqlSessionFactory(创建 阅读全文
posted @ 2020-07-16 21:36 xuan_study 阅读(182) 评论(0) 推荐(0)
摘要:12.MyBatis缓存 什么是缓存?为什么要缓存?哪些数据能缓存? 存在内存中的临时数据 缓存是一般的ORM 框架都会提供的功能,目的就是提升查询的效率和减少数据库的压力。 经常查询又不经常改变的数据适合缓存 Mybatis一级缓存: 默认情况下是开启的;(SqlSession级别的缓存) 本地缓 阅读全文
posted @ 2020-07-16 21:34 xuan_study 阅读(160) 评论(0) 推荐(0)
摘要:11.动态sql 什么是动态sql? 动态 SQL 是 MyBatis 的强大特性之一。 在 MyBatis 之前的版本中,需要花时间了解大量的元素。借助功能强大的基于 OGNL 的表达式,MyBatis 3 替换了之前的大部分元素,大大精简了元素种类,现在要学习的元素种类比原来的一半还要少。 if 阅读全文
posted @ 2020-07-16 21:33 xuan_study 阅读(312) 评论(0) 推荐(0)
摘要:方法一: 结果嵌套处理 子查询的由于比较繁琐就不写了 具体可以看上面的多对一 实现过程基本差不多 这里的关键就是配置文件的编写collection标签的使用 第一步:实体类的编写 @Data @AllArgsConstructor @NoArgsConstructor public class St 阅读全文
posted @ 2020-07-16 21:32 xuan_study 阅读(114) 评论(0) 推荐(0)
摘要:9.1 多对一需求代码编写 需求:查询所有学生信息,以及对应的老师信息 方法一:按照查询嵌套处理(子查询) sql语句:select s.id,s.name,t.id from student s where t.id=(select id from teacher ) 第一步:编写mapper接口 阅读全文
posted @ 2020-07-16 21:31 xuan_study 阅读(181) 评论(0) 推荐(0)
摘要:多对一 什么是多对一? 举一个学生和老师的例子,一个老师可以教多个学生,同时多个学生可以被一个老师教 对于学生而言,多个学生关联一个老师 对于老师而言是一个集合(集合里面包含多个学生) association–:一个复杂类型的关联;许多结果将包装成这种类型 嵌套结果映射 – 关联可以是 `resul 阅读全文
posted @ 2020-07-16 21:30 xuan_study 阅读(291) 评论(0) 推荐(0)
摘要:8.1简单测试注解开发 第一步:编写接口(加上sql语句) //查询全部方法 @Select("select * from user") List<User> findAll() throws Exception; 第二步:配置mybatis-config.xml中mapper映射(映射到接口所在类 阅读全文
posted @ 2020-07-16 21:28 xuan_study 阅读(110) 评论(0) 推荐(0)
摘要:为什么要分页? 因为如果数据过多不分页的话必然会增大服务器内存的负载,降低了系统的运行速度。 mybatis几种分页方式: 7.1 SQL分页 第一步:编写接口和基本的配置文件 //mybatis接口 List<User> findByLimit(Map<String,Object> map)thr 阅读全文
posted @ 2020-07-16 21:27 xuan_study 阅读(116) 评论(0) 推荐(0)
摘要:6.1日志工厂 Mybatis 通过使用内置的日志工厂提供日志功能。内置日志工厂将会把日志工作委托给下面的实现之一: SLF4J Apache Commons Logging Log4j 2 Log4j JDK logging MyBatis 内置日志工厂会基于运行时检测信息选择日志委托实现。 它会 阅读全文
posted @ 2020-07-16 21:26 xuan_study 阅读(199) 评论(0) 推荐(0)
摘要:ResultMap结果映射(用于解决属性名和字段名不一致的问题) resultMap 元素是 MyBatis 中最重要最强大的元素。 ResultMap 的设计思想是,对简单的语句做到零配置,对于复杂一点的语句,只需要描述语句之间的关系就行了。 第一种解决方法:起别名(as) 前者是数据库字段后者是 阅读全文
posted @ 2020-07-16 21:25 xuan_study 阅读(604) 评论(0) 推荐(0)
摘要:4.1 核心配置文件 mybati-config.xml MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。 配置文档的顶层结构如下: configuration(配置) properties(属性) settings(设置) typeAliases(类型别名) ty 阅读全文
posted @ 2020-07-16 21:24 xuan_study 阅读(267) 评论(0) 推荐(0)
摘要:何为CRUD? 我们通常称为增删改查 增加(Create)、读取(Retrieve)、更新(Update)和删除(Delete) 3.1 Select语句 第一步:编写接口 //查询方法 List<User> fingAll() throws Exception; ​ User findById(I 阅读全文
posted @ 2020-07-16 21:23 xuan_study 阅读(134) 评论(0) 推荐(0)
摘要:2.3MyBatis三巨头介绍作用域(Scope)和生命周期 为什么要理解生命周期? 理解我们之前讨论过的不同作用域和生命周期类别是至关重要的,因为错误的使用会导致非常严重的并发问题。 对象生命周期和依赖注入框架 依赖注入框架可以创建线程安全的、基于事务的 SqlSession 和映射器,并将它们直 阅读全文
posted @ 2020-07-16 21:22 xuan_study 阅读(184) 评论(0) 推荐(0)
摘要:2.1Mybatis入门步骤方法一 搭建环境 >导入依赖 >编写代码 >测试 2.1.1创建数据库 第一步:由于是持久层做数据交互的所以需要用到数据库 创建数据库 CREATE TABLE `user` ( `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, 阅读全文
posted @ 2020-07-16 21:20 xuan_study 阅读(168) 评论(0) 推荐(0)
摘要:1.1 是什么MyBatis? 答:MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。 MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。 MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO( 阅读全文
posted @ 2020-07-16 21:18 xuan_study 阅读(100) 评论(0) 推荐(0)