动态
开发
Mybatis_面试题总结
1、什么是 Mybatis?(1)Mybatis 是一个半 ORM(对象关系映射)框架,它内部封装了 JDBC,开发时只需要关注 SQL 语句本身,不需要花费精力去处理加载驱动、创建连接、创建 statement 等繁杂的过程。程序员直接编写原生态 sql,可以严格控制 sql 执行性能,灵活度高。 (2)MyBatis 可以使用 XML 或注解来配置和映射原生信息,将 POJO 映射成数据库中的记录,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。 (3)通过 xml 文件或注解的方式将要执行的各种 statement 配置起来,并通过 java 对象和 statement 中 ...
开发
Mybatis_全局配置文件的其他配置和底层调用
一、全局配置文件补充说明1、类型的别名Mybatis 全局配置文件: 12345<!-- 配置类型的别名 --><typeAliases> <!-- 声明了实体类所在的包之后,在Mapper配置文件中,只需要指定这个包下的简单类名即可 --> <package name="com.atguigu.mybatis.entity"/></typeAliases> Mapper 配置文件: 12345<!-- Employee selectEmployeeById(Integer empId); -- ...
开发
Mybatis_分页插件:PageHelper
分页插件:PageHelper1、简介专门实现分页效果的 Mybatis 插件。GitHub 网址: 1https://github.com/pagehelper 码云网址: 1https://gitee.com/free/Mybatis_PageHelper 2、搭建环境① 导入 jar 包 jsqlparser-0.9.5.jar pagehelper-5.0.0.jar ② 配置 PageHelper 插件在 Mybatis 全局配置文件中配置: 1234567<plugins> <!-- 指定执行分页功能的PageHellper插件 --> & ...
开发
Mybatis_逆向工程
1、逆向工程概念 正向工程:先创建 Java 实体类,由框架负责根据实体类生成数据库表。Hibernate 是支持正向工程的。 逆向工程:先创建数据库表,由框架负责根据数据库表,反向生成如下资源: Java 实体类 Mapper 接口 Mapper 配置文件 2、基本原理 3、搭建环境① 加入 jar 包hamcrest-core-1.3.jarjunit-4.12.jarlog4j.jarmybatis-3.4.1.jarmybatis-generator-core-1.3.2.jarmysql-connector-java-5.1.7-bin.jar ② 加入配置文件12345678 ...
开发
Mybatis_理解缓存的工作机制和缓存的用途
1、缓存机制介绍 2、一级缓存和二级缓存 查询的顺序是: 先查询二级缓存,因为二级缓存中可能会有其他程序已经查出来的数据,可以拿来直接使用。 如果二级缓存没有命中,再查询一级缓存 如果一级缓存也没有命中,则查询数据库 SqlSession 关闭之前,一级缓存中的数据会写入二级缓存 从范围和作用域角度来说: 一级缓存:SqlSession 级别 二级缓存:SqlSessionFactory 级别 它们之间范围的大小参考下面图: 3、代码验证一级缓存12345678910111213141516171819202122232425@Testpublic void testFirstLe ...
开发
Mybatis_动态SQL
动态 SQL1、需求Mybatis 框架的动态 SQL 技术是一种根据特定条件动态拼装 SQL 语句的功能,它存在的意义是为了解决拼接 SQL 语句字符串时的痛点问题。 One of the most powerful features of MyBatis has always been its Dynamic SQL capabilities. If you have any experience with JDBC or any similar framework, you understand how painful it is to conditionally concatenat ...
开发
Mybatis_关联关系
一、关联关系1、关联关系概念说明 一对一 夫妻关系,人和身份证号 一对多 用户和用户的订单,锁和钥匙 多对多 老师和学生,部门和员工 2、创建模型① 创建实体类12345public class Customer { private Integer customerId; private String customerName; private List<Order> orderList;// 体现的是对多的关系 12345public class Order { private Integer orderId; priv ...
开发
Mybatis_数据输入及输出
一、数据输入1、Mybatis 总体机制概括 2、概念说明这里数据输入具体是指上层方法(例如 Service 方法)调用 Mapper 接口时,数据传入的形式。 简单类型:只包含一个值的数据类型 基本数据类型:int、byte、short、double、…… 基本数据类型的包装类型:Integer、Character、Double、…… 字符串类型:String 复杂类型:包含多个值的数据类型 实体类类型:Employee、Department、…… 集合类型:List、Set、Map、…… 数组类型:int[]、String[]、…… 复合类型:List<Employee> ...
开发
Mybatis_给SQL语句传参的两种方式
给 SQL 语句传参的两种方式1、#{}方式Mybatis 会在运行过程中,把配置文件中的 SQL 语句里面的#{}转换为“?”占位符,发送给数据库执行。 配置文件中的 SQL: 123<delete id="deleteEmployeeById"> delete from t_emp where emp_id=#{empId}</delete> 实际执行的 SQL: 1delete from t_emp where emp_id=? 2、${}方式将来会根据${}拼字符串 ①SQL 语句123<select id ...
开发
Mybatis_搭建开发环境及测试
一、Mybatis 简介1、简要历史原来的名字叫ibatis,从 Apache 迁移到 Google 的时候, 改名为Mybatis。 2、Mybatis 总体技术体系 3、Mybatis 和其他持久化层技术对比① 开发效率Hibernate>Mybatis>JDBC ② 运行效率JDBC>Mybatis>Hibernate 4、了解 Java 实体类 实体类是和现实世界中某一个具体或抽象的概念对应,是软件开发过程中,为了管理现实世界中的数据而设计的模型。 实体类的多个不同的叫法: domain:领域模型 entity:实体 POJO:Plain Old Java Ob ...