
Mybatis
文章平均质量分 93
要不一起ci个饭
我想去山顶⛰️
展开
-
Spring学习(八)——整合Mybatis
整合Mybatis整合步骤Mybatis配置 整合步骤 1、导入相关jar包 junit mybatis mysql数据库 spring包 aop植入 mybatis-spring <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"原创 2021-01-05 15:18:55 · 162 阅读 · 0 评论 -
mybatis中“#{}“和“${}“的区别
动态 sql 是 mybatis 的主要特性之一,在 mapper 中定义的参数传到 xml 中之后,在查询之前 mybatis 会对其进行动态解析。mybatis 为我们提供了两种支持动态 sql 的语法:#{} 以及 ${} 。 1、#相当于对数据 加上 双引号,$相当于直接显示数据。 2、#{} : 根据参数的类型进行处理,比如传入String类型,则会为参数加上双引号。#{}传参在进行SQL预编译时,会把参数部分用一个占位符 ? 代替,这样可以防止 SQL注入。 3、${} :将参数取出不做任何处原创 2020-12-25 17:13:20 · 200 阅读 · 0 评论 -
MyBatis学习(十六)——缓存
缓存Mybatis缓存一级缓存测试缓存失效的情况二级缓存 1.什么是缓存[ Cache ]? 存在内存中的临时数据。 将用户经常查询的数据放在缓存(内存)中,用户去查询数据就不用从磁盘上 (关系型数据库数据文件) 查询,从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题。 2.为什么使用缓存? 减少和数据库的交互次数,减少系统开销,提高系统效率。 3.什么样的数据能使用缓存? 经常查询并且不经常改变的数据。 Mybatis缓存 MyBatis包含一个非常强大的查询缓存特性,它可原创 2020-12-23 13:07:24 · 126 阅读 · 0 评论 -
MyBatis学习(十五)——动态SQL(if,where,choose,set,trim,foreach)
动态SQL一级目录二级目录三级目录 动态SQL就是根据不同的条件生成不同的SQL语句 一级目录 二级目录 三级目录原创 2020-12-22 15:45:04 · 576 阅读 · 2 评论 -
MyBatis学习(十四)——多对一和一对多查询
多对一查询和一对多查询多对一查询按照查询嵌套处理按照结果嵌套处理一对多查询实体类按结果查询按照查询嵌套处理 多对一查询 按照查询嵌套处理 查询所有的学生信息以及对应的老师的信息 按照结果嵌套处理 一对多查询 一个老师拥有多个学生对于老师就是一对多 实体类 package com.my.pojo; import lombok.Data; import java.util.List; @Data public class Teacher { private int id; pr原创 2020-12-21 20:29:46 · 131 阅读 · 0 评论 -
MyBatis学习(十三)——复杂查询环境搭建
复杂查询环境搭建关联和集合二级目录三级目录 多个学生对应一个老师 对于学生而言,关联多个学生,关联一个老师 对于老师而已言,一个老师有多个学生(集合) 关联和集合 二级目录 三级目录 ...原创 2020-12-21 17:49:30 · 208 阅读 · 0 评论 -
MyBatis学习(十二)——Lombok的使用
Lombok的使用@Data构造方法注解Equal@ToString@Getter 和 @Setter JAVA库里的构建代码的插件,像get和set就可以直接用注解不需要再写 @Getter and @Setter @FieldNameConstants @ToString @EqualsAndHashCode @AllArgsConstructor, @RequiredArgsConstructor and @NoArgsConstructor @Log, @Log4j, @Log4j2, @Slf4原创 2020-12-20 23:04:29 · 173 阅读 · 0 评论 -
MyBatis学习(十一)——注解进行增删查改
注解进行增删查改selectinsertupdatedelete@Param()注解 在原来的JDBC中会自动提交事务,但是在MyBatis中默认关闭了JDBC的自动提交功能,最后要使用session.commit()提交事务,否则数据不会发生改变 select insert update delete @Param()注解 基本类型的参数或者String类型需要加 引用类型不需要加 如果只有一个基本类型可以加可以不加建议加 ...原创 2020-12-19 15:14:39 · 232 阅读 · 1 评论 -
MyBatis学习(十)——Mybatis执行流程
Mybatis详细执行流程1、创建连接Sqlsession工厂的类 目录全览 1、创建连接Sqlsession工厂的类 连接类创建好之后,构建实体类,创建实体类接口,接口映射文件 之后的修改只修改接口映射文件以及测试类 ...原创 2020-12-19 14:25:24 · 127 阅读 · 2 评论 -
MyBatis学习(九)——使用注解开发
使用注解开发定义注解 定义注解 使用注解来映射简单语句会使代码显得更加简洁,但对于稍微复杂一点的语句,Java 注解不仅力不从心,还会让你本就复杂的 SQL 语句更加混乱不堪。 因此,如果你需要做一些很复杂的操作,最好用 XML 来映射语句。 注解在接口上实现 需要在核心配置文件中绑定接口 ...原创 2020-12-18 17:01:43 · 103 阅读 · 1 评论 -
MyBatis学习(八)——分页
分页使用limit分页RowBounds分页分页插件 分页是为了减少数据的处理量 使用limit分页 语法 select * from user limit startIndex,pageSize [0,n] 接口 //实现分页 List<User> getUserByLimit(Map<String,Integer> map); Mapper.xml <!--结果集映射--> <resultMap id="UserMap" ty原创 2020-12-18 16:35:47 · 115 阅读 · 7 评论 -
MyBatis学习(七)——日志工厂
日志日志工厂STDOUT_LOGGING(常用)是标准的日志输出Log4j配置使用日志级别 日志工厂 如果一个数据库出现了操作异常,日志就是排错的方法之一 SLF4J LOG4J(常用) LOG4J2 JDK_LOGGING COMMONS_LOGGING STDOUT_LOGGING(常用) NO_LOGGING mybatis中具体使用哪个日志实现在设置中设定。 STDOUT_LOGGING(常用)是标准的日志输出 设置标签书写顺序 在核心配置文件中配置日志 运行后 Log4j 什么是Lo原创 2020-12-18 14:48:34 · 115 阅读 · 0 评论 -
MyBatis学习(六)——ResultMap结果集映射
ResultMap结果集映射属性名和字段不一致问题解决方法1、起别名修改sql2、使用ResultMap结果集映射 属性名和字段不一致问题 如果先将实体类中的pwd修改为password 之后进行查找 发现结果password这一栏一直为null 原因是我们修改实体类之后但是在标签中的sql语句的查找还没有改变 数据库中是是pwd,所以类型处理器不认识password所以就查找不到数据库中的值 解决方法 1、起别名修改sql 2、使用ResultMap结果集映射 <select i原创 2020-12-18 12:39:07 · 312 阅读 · 0 评论 -
MyBatis学习(五)——配置解析及属性优化
配置解析及属性优化配置解析1、核心配置文件2、环境配置(environments)3、属性(properties)4、类型别名(typeAliases)5、设置6、映射器(mappers)7、作用域(Scope)和生命周期 配置解析 1、核心配置文件 mybatis-config.xml MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息 mybatis-config.xml: <?xml version="1.0" encoding="UTF-8" ?> &原创 2020-12-17 20:05:04 · 167 阅读 · 0 评论 -
MyBatis学习(四)——Map和模糊查询
Map和模糊查询万能Map模糊查询 万能Map 假设实体类,或者数据库中的表,字段或者参数过多,可以使用Map Map传递参数,直接在sql中取出key即可,对象传递参数,直接在sql中取对象的属性,只有一个基本类型参数的情况下,可以直接在sql中取到。 模糊查询 在sql中拼接%写死更安全 ...原创 2020-12-17 16:27:00 · 163 阅读 · 0 评论 -
MyBatis学习(一)——认识Mybatis
MyBatis学习 MyBatisMyBatis学习一、MyBatis是什么?二、获得MyBatis1.1、什么是持久化1.2、持久层1.3、为啥需要MyBatis 一、MyBatis是什么? . MyBatis 是一款优秀的持久层框架 ·它支持定制化SQL、存储过程以及高级映射。 . MyBatis避兔了几乎所有的JDBC代码和手动设置参数以及获取结果集。 MyBatis 可以使用简单的XML或注解来配置和映射原生类型、接口和Java的POJO(Plain Old Javaobjects,普通老式Java原创 2020-12-16 15:05:33 · 1130 阅读 · 0 评论