Mybatis
文章平均质量分 61
theLuckyLong
这个作者很懒,什么都没留下…
展开
-
Mybatis学习-缓存
一级缓存 Mybatis在默认情况下,仅开启了一级缓存,即SqlSession级别的缓存,也称为本地缓存。 举个例子: @Test public void test01(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); User user1 = mapper.queryU原创 2021-01-13 21:21:05 · 87 阅读 · 0 评论 -
Mybatis学习-动态SQL
什么是动态SQL 个人理解:动态SQL就是根据用户输入的参数不同,从而生成不同的SQL语句。 在Mybatis中,动态SQL就是在select,insert等标签中嵌入了if,set,foreach等标签。 搭建环境 本文接下来所举的例子,都是基于Blog(博客类)来说明的: 首先创建一个博客类(省略了getter和setter方法) public class Blog { private String id; private String title; private String原创 2021-01-13 19:58:08 · 494 阅读 · 0 评论 -
Mybatis学习-复杂查询
写在前面 设想一下这个场景: 一个老师名下有许多学生,而每个学生只能由一个老师教(班主任),那么在学生表中关联老师这个对象,在老师对象中,会有一个学生的集合。那么这种情况下,Mybatis进行SQL查询时,就不会像简单查询一样简单了。 这就涉及到一对多,多对一的问题。 问题场景中的学生类、老师类分别为(省略了getter,setter等方法): Student类 public class Student { private int id; private String name;原创 2021-01-13 00:33:33 · 392 阅读 · 0 评论 -
Mybatis学习-ResultMap结果集映射
写在前面 ResultMap的出现,是为了解决数据库字段名与Java类属性名不一致的问题 下面介绍下问题场景: 数据库有一张User表,字段名分别是:id , username , pwd 而Java类中有一个User类,属性名分别是:id , username , password 这里可以发现,pwd与password的字段名不一样,这样查询数据库时,后端接收到的password值将会是null 解决方式一(在SQL语句方面做文章) 众所周知,在Sql语句查询时,可以为查询的字段起别名,这样就可以起一个原创 2021-01-10 21:46:45 · 186 阅读 · 0 评论 -
Mybatis获取SqlSession的流程
原创 2021-01-10 20:55:58 · 252 阅读 · 1 评论 -
Mybatis学习-映射器配置
在Mybatis中,Dao层又被叫做Mapper层,当我们编写Dao层的接口时,会同时编写一个同名的.xml配置文件,举个例子: 首先编写一个UserMapper接口 package com.yyl.dao; import com.yyl.pojo.User; import java.util.List; import java.util.Map; /** * @Author: LongLongA * @Description: * @Date: Created in 16:13 2020/原创 2021-01-10 20:42:44 · 194 阅读 · 0 评论 -
Spring学习--通过AOP的方式实现声明式事务管理
写在前面 在Spring整合Myabatis原创 2020-12-17 20:43:20 · 195 阅读 · 0 评论 -
Spring与Mybatis整合
Pom文件 <?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" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/x原创 2020-12-16 12:36:32 · 96 阅读 · 0 评论 -
Mybatis学习-关于Map的应用
设想一个这样的情景: 如果一个类中有上百个属性,而我们在进行插入修改的时候,只需要对个别属性进行修改,那么显然构造一个类对象来传递数据显得有些多余,此时可以引入Map类,将需要修改传递的数据构造成“键-值”对的形式封装在Map里来进行传递。 举个栗子: 首先在UserMapper接口中添加一个新的接口 //新增一个用户方法二:通过Map传值 int addUser2(Map<String,Object> map); 在对应的xml文件文件中写上相应的SQL标签 <!--这里井号原创 2020-10-20 20:49:30 · 179 阅读 · 0 评论 -
Mybatis学习-如何执行简单的Sql语句
我们来探究一下SQL是如何在Mybatis下执行的: 首先先建立一个Java实体类,这里以User类为例子: 建立一个Mapper层(也可以叫做Dao层),创建一个UserMapper的接口类: 并且在相同文件夹下建立一个UserMapper.xml文件(注意命名要与对应的接口类一直,而且UserMapper.xml文件需要在mybatis-config.xml中声明),即原来的接口实现类转化为对应的映射XML文件 相应的UserMapper.xml文件为: <?xml version=原创 2020-10-13 20:43:06 · 374 阅读 · 0 评论 -
Mybatis学习-环境搭建
首先搭建一个数据库(省略) 构建一个Maven项目,可以先构建一个空的Maven父工程项目(删除src目录),里面建立一系列子工程项目 在父工程的pom.xml文件中导入Maven依赖(这样以后子工程中的pom.xml文件中不用重复导入公共的依赖): <dependencies> <!--mysql驱动--> <dependency> <groupId>mysql</groupId> <ar.原创 2020-10-13 19:48:30 · 125 阅读 · 0 评论