Mybatis
文章平均质量分 53
踏实IT精英
这个作者很懒,什么都没留下…
展开
-
MyBatis学习-- MyBatis的逆向工程
一.Mybatis的逆向工程正向工程:先创建Java实体类,由框架负责根据实体类生成数据库表。Hibernate是支持正向工程的逆向工程:先创建数据库表,由框架负责根据数据库表,反向生成如下资源:Java实体类Mapper接口Mapper映射文件二.创建逆向工程的步骤2.1 添加依赖和插件<dependencies> <!-- MyBatis核心依赖包 --> <dependency> <groupId>org.mybatis原创 2022-04-13 18:39:12 · 257 阅读 · 0 评论 -
Mybatis学习--分页插件的使用
一.分页插件使用步骤1.1 添加依赖<!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper --><dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.2.0</versi原创 2022-04-13 18:38:53 · 469 阅读 · 0 评论 -
Mybatis学习--MyBatis的缓存
一.MyBatis的一级缓存一级缓存是SqlSession级别的,通过同一个SqlSession查询的数据会被缓存,下次查询相同的数据,就会从缓存中直接获取,不会从数据库重新访问使一级缓存失效的四种情况:不同的SqlSession对应不同的一级缓存同一个SqlSession但是查询条件不同同一个SqlSession两次查询期间执行了任何一次增删改操作同一个SqlSession两次查询期间手动清空了缓存二.二级缓存的相关配置在mapper配置文件中添加的cache标签可以设置一些属原创 2022-04-13 18:39:21 · 121 阅读 · 0 评论 -
MyBatis学习--动态SQL
Mybatis框架的动态SQL技术是一种根据特定条件动态拼装SQL语句的功能,它存在的意义是为了解决拼接SQL语句字符串时的痛点问题一. if标签if标签可通过test属性(即传递过来的数据)的表达式进行判断,若表达式的结果为true,则标签中的内容会执行;反之标签中的内容不会执行.在where后面添加一个恒成立条件1=1这个恒成立条件并不会影响查询的结果这个1=1可以用来拼接and语句,例如:当empName为null时如果不加上恒成立条件,则SQL语句为select * from t_e原创 2022-04-11 17:36:53 · 475 阅读 · 0 评论 -
Mybatis学习--延迟加载
一.延迟加载分步查询的优点:可以实现延迟加载,但是必须在核心配置文件中设置全局配置信息:lazyLoadingEnabled:延迟加载的全局开关。当开启时,所有关联对象都会延迟加载aggressiveLazyLoading:当开启时,任何方法的调用都会加载该对象的所有属性。 否则,每个属性会按需加载此时就可以实现按需加载,获取的数据是什么,就只会执行相应的sql。此时可通过association和collection中的fetchType属性设置当前的分步查询是否使用延迟加载,fetchTy原创 2022-04-11 17:25:05 · 377 阅读 · 1 评论 -
Mybatis--自定义映射resultMap
1.resultMap处理字段和属性的映射关系- resultMap:设置自定义映射属性:id:表示自定义映射的唯一标识,不能重复type:查询的数据要映射的实体类的类型子标签:id:设置主键的映射关系result:设置普通字段的映射关系子标签属性:property:设置映射关系中实体类中的属性名column:设置映射关系中表中的字段名若字段名和实体类中的属性名不一致,则可以通过resultMap设置自定义映射,即使字段名和属性名一致的属性也要映射,也就是全部属性都要原创 2022-04-11 16:14:01 · 987 阅读 · 0 评论 -
mybatis学习--特殊SQL的执行
1.模糊查询/** * 根据用户名进行模糊查询 * @param username * @return java.util.List<com.atguigu.mybatis.pojo.User> * @date 2022/2/26 21:56 */List<User> getUserByLike(@Param("username") String username);<!--List<User> getUserByLike(@Param("use原创 2022-04-11 15:52:44 · 544 阅读 · 0 评论 -
Mybatis--MyBatis的各种查询功能
如果查询出的数据只有一条,可以通过实体类对象接收List集合接收Map集合接收,结果{password=123456, sex=男, id=1, age=23, username=admin}如果查询出的数据有多条,一定不能用实体类对象接收,会抛异常TooManyResultsException,可以通过实体类类型的LIst集合接收Map类型的LIst集合接收在mapper接口的方法上添加@MapKey注解1.查询一个实体类对象/** * 根据用户id查询用户信息 * .原创 2022-04-11 15:41:20 · 89 阅读 · 0 评论 -
MyBatis学习-MyBatis获取参数值的两种方式(重点)
- MyBatis获取参数值的两种方式:${}和#{} - ${}的本质就是字符串拼接,#{}的本质就是占位符赋值 - ${}使用字符串拼接的方式拼接sql,若为字符串类型或日期类型的字段进行赋值时,需要手动加单引号;但是#{}使用占位符赋值的方式拼接sql,此时为字符串类型或日期类型的字段进行赋值时,可以自动添加单引号1.单个字面量类型的参数若mapper接口中的方法参数为单个的字面量类型,此时可以使用${}和#{}以任意的名称(最好见名识意)获取参数的值,注意${}需要手动加单引号&l原创 2022-04-11 15:14:51 · 149 阅读 · 0 评论 -
Mybatis学习--MyBatis的增删改查
1.添加<!--int insertUser();--><insert id="insertUser"> insert into t_user values(null,'admin','123456',23,'男','12345@qq.com')</insert>2.删除<!--int deleteUser();--> <delete id="deleteUser"> delete from t_user where原创 2022-04-11 14:45:29 · 573 阅读 · 0 评论 -
Mybatis学习--核心配置文件详解
1.核心配置核心配置文件中的标签必须按照固定的顺序(有的标签可以不写,但顺序一定不能乱):properties、settings、typeAliases、typeHandlers、objectFactory、objectWrapperFactory、reflectorFactory、plugins、environments、databaseIdProvider、mappers<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE confi原创 2022-04-11 14:34:08 · 145 阅读 · 0 评论 -
MyBatis学习--搭建Mybatis
一.搭建1.开发环境- IDE:idea 2019.2 - 构建工具:maven 3.5.4 - MySQL版本:MySQL 5.7 - MyBatis版本:MyBatis 3.5.72.创建maven工程1.打包方式2.引入依赖<dependencies> <!-- Mybatis核心 --> <dependency> <groupId>org.mybatis</groupId> <artifactId原创 2022-04-11 14:18:00 · 1284 阅读 · 0 评论 -
MyBatis简介
一. MyBatis历史MyBatis最初是Apache的一个开源项目iBatis, 2010年6月这个项目由Apache Software Foundation迁移到了Google Code。随着开发团队转投Google Code旗下,iBatis3.x正式更名为MyBatis。代码于2013年11月迁移到Github.iBatis一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBatis提供的持久层框架包括SQL Maps和Data Access Objec原创 2022-04-11 13:49:34 · 439 阅读 · 0 评论