狂神Mybatis
文章平均质量分 75
Mybatis
你说的白是什么白_
大四学生一枚,2023年本科毕业,现已工作
展开
-
12.缓存的简介 + 一级缓存、二级缓存 + 缓存原理图
文章目录缓存简介1、什么是缓存 [ Cache ]?2、为什么使用缓存?3、什么样的数据能使用缓存?本博客项目结构Mybatis缓存一级缓存(SqlSession级别的缓存,也称为本地缓存)1. 测试一级缓存2.一级缓存失效的四种情况①sqlSession不同②sqlSession相同,查询条件不同③sqlSession相同,两次查询之间执行了增删改操作!④sqlSession相同,手动清除一级缓存: session.clearCache();二级缓存1. 使用步骤① 开启全局缓存 【mybatis-co原创 2022-02-03 11:22:53 · 1898 阅读 · 0 评论 -
11. 动态SQL:if、where、set、choose、sql片段 、foreach
文章目录动态SQL的定义搭建项目环境1.在Navicat Premium新建一个数据库表:blog2. 初始项目结构3. 在utils包下,新建IDutil工具类:目的是生成一个随机数4. 在pojo包下,编写Blog类5. 编写BlogMapper接口 及 BlogMapper.xml文件6. mybatis核心配置文件,下划线驼峰自动转换6. 插入初始数据动态SQL的使用介绍1. if 语句2.where3.Set4.choose语句(含when、otherwise)5.SQL片段【目的:增加代码的重用原创 2022-02-02 21:01:23 · 652 阅读 · 0 评论 -
10.【一对多 collection】:一个老师对多个学生
文章目录项目搭建过程编写TeacherMapper接口方法编写TeacherMapper.xml的sql1. --------------这个查出来,teacher为null2. --------------按照查询嵌套处理【不推荐】3.--------------按照结果嵌套处理【推荐】TestCollection测试类【可不用看】项目搭建过程参考我的博客:10. 多对一、一对多 的实验环境搭建 其中实体类Teacher,Student变成下面的@Data@AllArgsCons原创 2022-02-02 18:35:52 · 568 阅读 · 0 评论 -
10.【多对一 association】:多个学生对一个老师
文章目录编写StudentMapper接口的方法StudentMapper.xml编写sql语句1. --------------这个查出来,teacher为null2. --------------按照查询嵌套处理【不推荐】3.--------------按照结果嵌套处理【推荐】Testassociation测试类【可不用看】编写StudentMapper接口的方法public interface StudentMapper { //查询所有的学生信息,以及对应的老师的信息! pu原创 2022-02-02 17:12:24 · 557 阅读 · 0 评论 -
10. 多对一、一对多 的实验环境搭建
文章目录本博客项目结构本博客项目结构DROP TABLE IF EXISTS `student`;CREATE TABLE `student` ( `id` int(10) NOT NULL, `name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `tid` int(10) NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE原创 2022-02-02 16:43:18 · 1282 阅读 · 0 评论 -
9. Lombok【pom:lombok】
文章目录Lombok1. 在IDEA中安装Lombok插件2. 在项目中导入lombok的jar包3. 在程序上加注解LombokLombok项目是一个Java库,它会自动插入编辑器和构建工具中,Lombok提供了一组有用的注释,用来消除Java类中的大量样板代码。仅五个字符(@Data)就可以替换数百行代码从而产生干净,简洁且易于维护的Java类。使用步骤:1. 在IDEA中安装Lombok插件2. 在项目中导入lombok的jar包<dependency> <原创 2022-02-01 23:01:44 · 554 阅读 · 0 评论 -
8. 使用注解开发 @select () 、@update () 、@Insert ()、@delete () + # {}与‘${}‘的区别
文章目录本博客项目结构使用注解开发0. 注意User有个属性名与数据库中的不一致1.在mybatis的核心配置文件中注入2.在UserMapper接口中添加注解3. 编写测试TestAnnotation类本博客项目结构其中做了很多调整重点的是,更新了MybatisUtils类:使用注解开发使用注解来映射简单语句会使代码显得更加简洁,然而对于稍微复杂一点的语句,Java注解就力不从心了,并且会显得更加混乱。因此,如果你需要完成很复杂的事情,那么最好使用XML映射语句。注意:利用注解开发就不原创 2022-02-01 22:27:34 · 4328 阅读 · 0 评论 -
7. limit实现分页、RowBounds分页【不推荐使用】、PageHelper插件
文章目录limit实现分页1. UserMapper接口,参数为map2. 修改UserMapper.xml文件3. 在测试类test中传入参数测试RowBounds分页【不推荐使用】PageHelperlimit实现分页Limit语法介绍#语法SELECT * FROM table LIMIT stratIndex,pageSizeSELECT * FROM table LIMIT 5,10; // 检索记录行 6-15 #这个不一定行#为了检索从某一个偏移量到记录集的结束所有的记录行原创 2022-02-01 21:42:38 · 499 阅读 · 0 评论 -
6.日志工厂:STDOUT_LOGGING、LOG4J 【pom:log4j】
文章目录本博客项目结构日志工厂没有设置日志时的输出在mybatis-config.xml设置日志:STDOUT_LOGGING时的输出在mybatis-config.xml设置日志:LOG4J1. 先导入log4j的包2.在 resourcesl下新建log4j.properties3. 配置settings为log4j实现4. 测试运行Log4j简单使用1. 在要使用Log4j的类中,导入包2. 日志对象,参数为当前类的class对象3. 日志级别本博客项目结构日志工厂如果一个数据库操作,出原创 2022-02-01 19:48:45 · 228 阅读 · 0 评论 -
5. 解决【pojo包定义的属性名】 和【数据库字段名】不一致的问题:起别名、resultMap
文章目录本博客项目结构问题解决方法起别名:pwd as password2通过resultMap本博客项目结构问题数据库中的字段新建一个mybatis-03-resultMap项目,拷贝之前的mybatis-02-config-optimized项目,测试实体类字段不一致的情况<select id="selectUserById" resultType="User" parameterType="int"> select * from user where id原创 2022-02-01 16:51:57 · 1538 阅读 · 1 评论 -
4. mybatis-config.xml 系统核心配置:environments、properties、typeAliases、Settings、mappers
文章目录mybatis-config.xml 系统核心配置文件信息environments1. 通过mybatis-config.xml 系统核心配置文件信息MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。红色为常用的,注意元素节点的顺序!顺序不对会报错environments1. 通过<environments>中的default切换<environment>2. transactionManager(事务管理器)在 MyBat原创 2022-02-01 13:17:02 · 847 阅读 · 0 评论 -
3.Mybatis中的模糊查询
文章目录项目结构第1种:在Java代码中添加sql通配符。第2种:在sql语句中拼接通配符,会引起sql注入项目结构第1种:在Java代码中添加sql通配符。1、在UserMapper接口定义方法 List<User> getUserLike(String value);2、在UserMapper.xml中,编写Sql语句<select id="getUserLike" resultType="com.pojo.User"> select * from原创 2022-02-01 10:16:07 · 216 阅读 · 0 评论 -
3.Mybatis中增删改查的@Param()和 Map用法
文章目录由来解决方法一:直接在方法中传递参数解决方法二:使用万能的Map由来public class User { private int id; //id private String name; //姓名 private String pwd; //密码 ............}解决方法一:直接在方法中传递参数1、在UserMapper接口方法的参数前加 @Param属性//通过密码和名字查询用户User selectUserByNP(@P原创 2022-02-01 10:05:41 · 1884 阅读 · 0 评论 -
3.Mybatis: select、insert、update、delete 操作及配置解析
2:CRUD操作及配置解析2.1 namespace将上面案例中的UserMapper接口改名为 UserDao;将UserMapper.xml中的namespace改为为UserDao的路径 .再次测试结论:配置文件中namespace中的名称为对应Mapper接口或者Dao接口的完整包名,必须一致!2.2 selectselect标签是mybatis中最常用的标签之一select语句有很多属性可以详细配置每一条SQL语句SQL语句返回值类型。【完整的类名或者别名】原创 2022-02-01 09:51:39 · 970 阅读 · 0 评论 -
2. Mybatis的第一个程序
文章目录1. 在Navicat Premium搭建实验数据库2. 新建maven项目,并导入pom依赖~~~~~~~~~~~~~ 在父项目中,新建一个子项目 (不分父、子项目就不需要)~~~~~~~~~~~~~3. 编写MyBatis核心配置文件4. 编写MyBatis工具类1. 在Navicat Premium搭建实验数据库CREATE TABLE `user` (`id` int(20) NOT NULL,`name` varchar(30) DEFAULT NULL,`pwd` varch原创 2022-01-31 19:44:09 · 955 阅读 · 0 评论 -
2. SqlSessionFactoryBuilder、sqlSessionFactory、SqlSession类的方法 + 作用域 + 生命周期
SqlSessionFactoryBuilder唯一作用就是用来创建SqlSessionFactory,创建完成之后就不会用到它了,所以SqlSessionFactoryBuiler生命周期极短。sqlSessionFactory每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为核心的。他通过下面语句,获得 SqlSession 的实例SqlSession xxxxx = sqlSessionFactory.openSession()SqlSessi原创 2022-01-31 19:52:47 · 922 阅读 · 0 评论 -
1. MyBatis的介绍和概念
文章目录软件环境说明什么是MyBatis软件环境说明jdk 8 +、MySQL 5.7.19、maven-3.6.1、 IDEA什么是MyBatisMyBatis 是一款优秀的持久层框架MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集的过程MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 实体类 【Plain Old Java Objects,普通的 Java对象】映射成数据库中的记录。MyBatis 本是apa原创 2022-01-31 11:13:12 · 91 阅读 · 0 评论
分享