随笔分类 - SSM / Mybatis
摘要:分页插件 JavaWeb 服务器实现分页需要在SQL中使用 limit ,需要获取 index, pageSize, pageNum 等数据 pageSize:每页显示的条数 pageNum:当前页的页码 index:当前页的起始索引,index=(pageNum-1)*pageSize index
阅读全文
摘要:概念 正向工程:先创建Java实体类,由框架负责根据实体类生成数据库表。Hibernate是支持正向工程的。 逆向工程:先创建数据库表,由框架负责根据数据库表,反向生成如下资源: Java实体类 Mapper接口 Mapper配置文件 基本原理 MyBatis3Simple: 生成基本的CRUD(清
阅读全文
摘要:1. EHCache简介 官网地址:https://www.ehcache.org/ Ehcache is an open source, standards-based cache that boosts performance, offloads your database, and simpl
阅读全文
摘要:二级缓存(手动开启) 这里我们使用的是Mybatis自带的二级缓存,也可以称之为是内置的。 二级缓存是SqlSessionFactory级别,通过同一个SqlSessionFactory创建的SqlSession查询的结果会被缓存;此后若再次执行相同的查询语句,结果就会从缓存中获取 二级缓存开启的条
阅读全文
摘要:一级缓存(默认开启) MyBatis的一级缓存是SqlSession级别的,即通过同一个SqlSession查询的数据会被缓存 再次使用同一个SqlSession查询同一条数据,会从缓存中获取 1、代码验证一级缓存 @Test public void testFirstLevelCache() {
阅读全文
摘要:介绍 理解缓存的工作机制和缓存的用途。 1、缓存机制介绍 2、一级缓存和二级缓存 ①使用顺序 查询的顺序是: 先查询二级缓存,因为二级缓存中可能会有其他程序已经查出来的数据,可以拿来直接使用。 如果二级缓存没有命中,再查询一级缓存 如果一级缓存也没有命中,则查询数据库 SqlSession关闭之前,
阅读全文
摘要:动态SQL Mybatis框架的动态SQL技术是一种根据特定条件动态拼装SQL语句的功能,它存在的意义是为了解决拼接SQL语句字符串时的痛点问题。 One of the most powerful features of MyBatis has always been its Dynamic SQL
阅读全文
摘要:一次查询,通过部门 id 查询部门信息以及该部门所有员工信息 方法一:resultMap 中使用 collection 标签,专门处理实体类集合属性的一对多关系 接口类方法 Dept getDeptAndEmpByDeptId(@Param("deptId") Integer deptId); 配置
阅读全文
摘要:多表联查 员工-部门 一对多:员工中有一个属性存储部门对象 部门-员工 多对一:部门中有一个属性存储员工对象集合 一次查询,通过员工 id 查询员工信息以及所在部门信息 方法一:resultMap 逐个配置 字段与属性对象的属性之间的映射关系 接口类声明方法 Emp getEmpAndDeptByE
阅读全文
摘要:字段名与属性名不一致 实体类 public class Emp { private Integer empId; private String empName; private Integer age; private String gender; ... } 接口类 public interfac
阅读全文
摘要:模糊查询,不确定结果数量 使用 List <实体类> public interface SpecialSQLMapper { //通过用户名模糊查询用户信息 List<User> getUserByLike(@Param("mohu") String mohu); } 映射文件 <mapper na
阅读全文
摘要:数据输出 数据输出总体上有两种形式: 增删改操作返回的受影响行数:直接使用 int 或 long 类型接收即可 查询操作的查询结果 1、返回单个简单类型数据 ①Mapper接口中的抽象方法 int selectEmpCount(); ②SQL语句 <select id="selectEmpCount
阅读全文
摘要:数据输入 实际使用时仅需考虑两种情况: 实体类型:接口传参是实体类,则在 SQL语句中直接使用类的属性 #{属性1},#{属性2}... 非实体类型:在接口传参时使用 @Param("key") value注解,则SQL语句中直接使用 #{key} #{}形式 Mybatis会将SQL语句中的#{}
阅读全文
摘要:将常用的固定格式的配置文件添加为IDEA中的模板 Mybatis核心配置文件 mybatis-config.xml Mybatis映射文件 mybatis-mapper.xml 可以在新建文件时直接使用添加的模板 红框中为模板名,而不是文件名
阅读全文
摘要:mybatis-config.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd
阅读全文
摘要:1 创建核心配置文件 其中配置连接数据库的环境 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "https://mybatis.o
阅读全文
摘要:1、物理建模 CREATE DATABASE `mybatis-example`; USE `mybatis-example`; CREATE TABLE `t_emp`( emp_id INT AUTO_INCREMENT, emp_name CHAR(100), emp_salary DOUBL
阅读全文
摘要:1、总体技术体系 ①单一架构 一个项目,一个工程,导出为一个war包,在一个Tomcat上运行。也叫all in one。 ②分布式架构 一个项目(对应 IDEA 中的一个 project),拆分成很多个模块,每个模块是一个 IDEA 中的一个 module。每一个工程都是运行在自己的 Tomcat
阅读全文