![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Mybatis
文章平均质量分 93
要不一起ci个饭
我想去山顶⛰️
展开
-
Spring学习(八)——整合Mybatis
整合Mybatis整合步骤Mybatis配置整合步骤1、导入相关jar包junitmybatismysql数据库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 · 139 阅读 · 0 评论 -
mybatis中“#{}“和“${}“的区别
动态 sql 是 mybatis 的主要特性之一,在 mapper 中定义的参数传到 xml 中之后,在查询之前 mybatis 会对其进行动态解析。mybatis 为我们提供了两种支持动态 sql 的语法:#{} 以及 ${} 。1、#相当于对数据 加上 双引号,$相当于直接显示数据。2、#{} : 根据参数的类型进行处理,比如传入String类型,则会为参数加上双引号。#{}传参在进行SQL预编译时,会把参数部分用一个占位符 ? 代替,这样可以防止 SQL注入。3、${} :将参数取出不做任何处原创 2020-12-25 17:13:20 · 164 阅读 · 0 评论 -
MyBatis学习(十六)——缓存
缓存Mybatis缓存一级缓存测试缓存失效的情况二级缓存1.什么是缓存[ Cache ]? 存在内存中的临时数据。 将用户经常查询的数据放在缓存(内存)中,用户去查询数据就不用从磁盘上 (关系型数据库数据文件) 查询,从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题。2.为什么使用缓存? 减少和数据库的交互次数,减少系统开销,提高系统效率。3.什么样的数据能使用缓存? 经常查询并且不经常改变的数据。Mybatis缓存MyBatis包含一个非常强大的查询缓存特性,它可原创 2020-12-23 13:07:24 · 110 阅读 · 0 评论 -
MyBatis学习(十五)——动态SQL(if,where,choose,set,trim,foreach)
动态SQL一级目录二级目录三级目录动态SQL就是根据不同的条件生成不同的SQL语句一级目录二级目录三级目录原创 2020-12-22 15:45:04 · 533 阅读 · 2 评论 -
MyBatis学习(十四)——多对一和一对多查询
多对一查询和一对多查询多对一查询按照查询嵌套处理按照结果嵌套处理一对多查询实体类按结果查询按照查询嵌套处理多对一查询按照查询嵌套处理查询所有的学生信息以及对应的老师的信息按照结果嵌套处理一对多查询一个老师拥有多个学生对于老师就是一对多实体类package com.my.pojo;import lombok.Data;import java.util.List;@Datapublic class Teacher { private int id; pr原创 2020-12-21 20:29:46 · 110 阅读 · 0 评论 -
MyBatis学习(十三)——复杂查询环境搭建
复杂查询环境搭建关联和集合二级目录三级目录多个学生对应一个老师对于学生而言,关联多个学生,关联一个老师对于老师而已言,一个老师有多个学生(集合)关联和集合二级目录三级目录...原创 2020-12-21 17:49:30 · 183 阅读 · 0 评论 -
MyBatis学习(十二)——Lombok的使用
Lombok的使用@Data构造方法注解Equal@ToString@Getter 和 @SetterJAVA库里的构建代码的插件,像get和set就可以直接用注解不需要再写@Getter and @Setter@FieldNameConstants@ToString@EqualsAndHashCode@AllArgsConstructor, @RequiredArgsConstructor and @NoArgsConstructor@Log, @Log4j, @Log4j2, @Slf4原创 2020-12-20 23:04:29 · 151 阅读 · 0 评论 -
MyBatis学习(十一)——注解进行增删查改
注解进行增删查改selectinsertupdatedelete@Param()注解在原来的JDBC中会自动提交事务,但是在MyBatis中默认关闭了JDBC的自动提交功能,最后要使用session.commit()提交事务,否则数据不会发生改变selectinsertupdatedelete@Param()注解基本类型的参数或者String类型需要加引用类型不需要加如果只有一个基本类型可以加可以不加建议加...原创 2020-12-19 15:14:39 · 207 阅读 · 1 评论 -
MyBatis学习(十)——Mybatis执行流程
Mybatis详细执行流程1、创建连接Sqlsession工厂的类目录全览1、创建连接Sqlsession工厂的类连接类创建好之后,构建实体类,创建实体类接口,接口映射文件之后的修改只修改接口映射文件以及测试类...原创 2020-12-19 14:25:24 · 106 阅读 · 2 评论 -
MyBatis学习(九)——使用注解开发
使用注解开发定义注解定义注解使用注解来映射简单语句会使代码显得更加简洁,但对于稍微复杂一点的语句,Java 注解不仅力不从心,还会让你本就复杂的 SQL 语句更加混乱不堪。 因此,如果你需要做一些很复杂的操作,最好用 XML 来映射语句。注解在接口上实现需要在核心配置文件中绑定接口...原创 2020-12-18 17:01:43 · 84 阅读 · 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 · 94 阅读 · 7 评论 -
MyBatis学习(七)——日志工厂
日志日志工厂STDOUT_LOGGING(常用)是标准的日志输出Log4j配置使用日志级别日志工厂如果一个数据库出现了操作异常,日志就是排错的方法之一SLF4JLOG4J(常用)LOG4J2JDK_LOGGINGCOMMONS_LOGGINGSTDOUT_LOGGING(常用)NO_LOGGINGmybatis中具体使用哪个日志实现在设置中设定。STDOUT_LOGGING(常用)是标准的日志输出设置标签书写顺序在核心配置文件中配置日志运行后Log4j什么是Lo原创 2020-12-18 14:48:34 · 99 阅读 · 0 评论 -
MyBatis学习(六)——ResultMap结果集映射
ResultMap结果集映射属性名和字段不一致问题解决方法1、起别名修改sql2、使用ResultMap结果集映射属性名和字段不一致问题如果先将实体类中的pwd修改为password之后进行查找发现结果password这一栏一直为null原因是我们修改实体类之后但是在标签中的sql语句的查找还没有改变数据库中是是pwd,所以类型处理器不认识password所以就查找不到数据库中的值解决方法1、起别名修改sql2、使用ResultMap结果集映射 <select i原创 2020-12-18 12:39:07 · 281 阅读 · 0 评论 -
MyBatis学习(五)——配置解析及属性优化
配置解析及属性优化配置解析1、核心配置文件2、环境配置(environments)3、属性(properties)4、类型别名(typeAliases)5、设置6、映射器(mappers)7、作用域(Scope)和生命周期配置解析1、核心配置文件mybatis-config.xmlMyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息mybatis-config.xml:<?xml version="1.0" encoding="UTF-8" ?>&原创 2020-12-17 20:05:04 · 125 阅读 · 0 评论 -
MyBatis学习(四)——Map和模糊查询
Map和模糊查询万能Map模糊查询万能Map假设实体类,或者数据库中的表,字段或者参数过多,可以使用MapMap传递参数,直接在sql中取出key即可,对象传递参数,直接在sql中取对象的属性,只有一个基本类型参数的情况下,可以直接在sql中取到。模糊查询在sql中拼接%写死更安全...原创 2020-12-17 16:27:00 · 141 阅读 · 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 · 1107 阅读 · 0 评论