标签: MyBatis
MyBatis:分页插件
分页插件使用步骤:
1.导入依赖
<!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper -->
<dependency>
<groupId&g……
MyBatis:逆向工程(奢华尊享版)
<!--
targetRuntime: 执行生成的逆向工程的版本
MyBatis3Simple: 生成基本的CRUD(清新简洁版)
MyBatis3: 生成带条件的CRUD(奢华尊享版……
MyBatis:逆向工程(清晰简洁版)
正向工程:先创建Java实体类,由框架负责根据实体类生成数据库表。Hibernate是支持正向工程的
逆向工程:先创建数据库表,由框架负责根据数据库表,反向生……
MyBatis:缓存
1.MyBatis的一级缓存
一级缓存是SqlSession级别的,通过同一个SqlSession查询的数据会被缓存,下次查询相同的数据,就会从缓存中直接获取,不会从数据库重新……
MyBatis:动态SQL
Mybatis框架的动态SQL技术是一种根据特定条件动态拼装SQL语句的功能,它存在的意义是为了解决拼接SQL语句字符串时的痛点问题
1.if标签
if标签可通过test……
MyBatis:一对多映射关系处理
public class Dept {
private Integer did;
private String deptName;
private List<Emp> emps;
//...构造器、get、set方法等
}
1.……
MyBatis:懒加载
分步查询的优点:可以实现延迟加载,但是必须在核心配置文件中设置全局配置信息:
lazyLoadingEnabled:延迟加载的全局开关。当开启时,所有关联对象都会……
MyBatis:多对一映射处理
查询员工信息以及员工所对应的部门信息
public class Emp {
private Integer eid;
private String empName;
private Integer age;
private S……
MyBatis:自定义映射resultMap
如果字段名和属性名不一致,
比如数据库中 表Emp中字段名为emp_name,而定义的属性名为empName,
无法对应映射关系,就会发生下面情况
1.若字段名和实体类中的……
MyBatis中特殊SQL的执行
1.模糊查询
// 根据用户名进行模糊查询
List<User> getUserByLike(@Param("username") String username);
<!--List<User> g……
MyBatis各种查询功能
1.查询一个实体类对象
接口方法 SelectMapper.java
//通过id进行查询
User selectById(@Param("id") int id);
映射文件 SelectMapper.xml
<!-……
MyBatis:获取参数的两种方式#{ }和${ }
jdbc 中原始的赋值方式(占位符和字符串拼接)
public void testJdbc() throws Exception {
String username = "admin";
Class.forName……
封装SqlSessionUtils工具类
package com.tinstu.mybatis.utils;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.……
在Idea中设置MyBatis核心配置文件的模板
1.先把模板写好
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
……
MyBatis核心配置文件
<!-- MyBatis核心配置文件中,标签的顺序
properties - setting - typeAliases - typeHandlers - objectFactory -
objectWrapperFactory- ref……
MyBatis:框架的搭建及测试
1.开发环境
新建一个工程-配置jdk版本-配置maven
2.创建maven工程
修改打包方式为jar
导入依赖:
<?xml version="1.0" encoding="UTF-8"?>
<project……