草庐IT

MyBatis(三):CRUD的操作实现

在MyBatis(二)的学习中我们已经实现了第一个MyBatis程序,现在我们要实现增删改查的完整操作,我们应该思考我们需要去修改哪些内容呢?修改三个内容:Mapper接口、对应Mapper接口的xml配置文件、测试类。一、查询我们尝试一个根据id查询一个用户的信息。1.修改UserMapper接口在其中添加我们对应的方法:packagecom.jms.dao;importjava.util.List;importcom.jms.pojo.User;publicinterfaceUserMapper{//根据id获取User信息UsergetUserbyid(intid);}2.修改UerMa

MyBatis(四):拓展——Map的使用和模糊查询

一、Map的使用前面我们在Mapper接口的方法中,传入的参数都是一个基本类型或者是一个实体类,那么如果我们需要的参数不止一个但又用不到实体类所有的属性有没有什么更好的办法呢,这里我们就可以用到Map了。我们还是以具体的操作来进行理解。1.利用Map实现查询(1)修改UserMapper接口1packagecom.jms.dao;23importjava.util.List;4importjava.util.Map;56importcom.jms.pojo.User;78publicinterfaceUserMapper{9//利用Map获取User信息10UsergetUserbymap(M

MyBatis(四):拓展——Map的使用和模糊查询

一、Map的使用前面我们在Mapper接口的方法中,传入的参数都是一个基本类型或者是一个实体类,那么如果我们需要的参数不止一个但又用不到实体类所有的属性有没有什么更好的办法呢,这里我们就可以用到Map了。我们还是以具体的操作来进行理解。1.利用Map实现查询(1)修改UserMapper接口1packagecom.jms.dao;23importjava.util.List;4importjava.util.Map;56importcom.jms.pojo.User;78publicinterfaceUserMapper{9//利用Map获取User信息10UsergetUserbymap(M

MyBatis(五):配置之属性优化

一、什么是配置之属性优化在解答这个问题之前我们应该先明白MyBatis的配置有哪些?官方文档中文网:配置_MyBatis中文网。我们还是直接看官方文档中给出的内容:MyBatis的配置文件包含了会深深影响MyBatis行为的设置和属性信息。配置文档的顶层结构如下:configuration(配置)  properties(属性)  settings(设置)  typeAliases(类型别名)  typeHandlers(类型处理器)  objectFactory(对象工厂)  plugins(插件)  environments(环境配置)    environment(环境变量)      

MyBatis(五):配置之属性优化

一、什么是配置之属性优化在解答这个问题之前我们应该先明白MyBatis的配置有哪些?官方文档中文网:配置_MyBatis中文网。我们还是直接看官方文档中给出的内容:MyBatis的配置文件包含了会深深影响MyBatis行为的设置和属性信息。配置文档的顶层结构如下:configuration(配置)  properties(属性)  settings(设置)  typeAliases(类型别名)  typeHandlers(类型处理器)  objectFactory(对象工厂)  plugins(插件)  environments(环境配置)    environment(环境变量)      

MyBatis(六):配置之类型别名优化

一、为什么要进行类型别名优化首先我们来看一下前面写的UserMapper.xml配置文件:xmlversion="1.0"encoding="UTF-8"?>DOCTYPEmapperPUBLIC"-//mybatis.org//DTDMapper3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">命名空间namespace对应Mapper接口-->mappernamespace="com.jms.dao.UserMapper">id对应接口中的方法-->selectid="getUsers"resultType="com.jms.poj

MyBatis(六):配置之类型别名优化

一、为什么要进行类型别名优化首先我们来看一下前面写的UserMapper.xml配置文件:xmlversion="1.0"encoding="UTF-8"?>DOCTYPEmapperPUBLIC"-//mybatis.org//DTDMapper3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">命名空间namespace对应Mapper接口-->mappernamespace="com.jms.dao.UserMapper">id对应接口中的方法-->selectid="getUsers"resultType="com.jms.poj

学习笔记——Mybatis动态SQL

2023-01-12一、Mybatis动态SQL即将SQL动态化同时Mybatis的动态SQL支持OFNL表达式,OGNL(ObjectGraphNavigationLanguage)对象图导航语言。1、先搭建环境(1)创建一个“maven”模块,命名为“day04_mybatis”(2)在“day04_mybatis”中的“pom.xml”中的标签内部添加依赖,即添加jar包dependencies>https://mvnrepository.com/artifact/mysql/mysql-connector-java-->dependency>groupId>mysqlgroupId>a

学习笔记——Mybatis动态SQL

2023-01-12一、Mybatis动态SQL即将SQL动态化同时Mybatis的动态SQL支持OFNL表达式,OGNL(ObjectGraphNavigationLanguage)对象图导航语言。1、先搭建环境(1)创建一个“maven”模块,命名为“day04_mybatis”(2)在“day04_mybatis”中的“pom.xml”中的标签内部添加依赖,即添加jar包dependencies>https://mvnrepository.com/artifact/mysql/mysql-connector-java-->dependency>groupId>mysqlgroupId>a

学习笔记——Mybatis中缓存机制

2023-01-12一、Mybatis中缓存机制1、一级缓存(1)概述:一级缓存(即本地缓存或SqlSession级别缓存)(2)特点:①一级缓存默认开启②不能关闭③可以清空(3)缓存原理①当第一次获取数据时,需要先从数据库中加载数据,将数据缓冲到Mybatis一级缓存中(缓存底层实现原理是Map,key:hashCode+查询的SqlId+编写的sql查询语句+参数)②以后再次获取数据时,先从一级缓存中获取,如未获取到数据,再从数据库中获取数据(4)一级缓存五种失效情况①不同的SqlSession对应不同的一级缓存(例如:将第一次查询的sqlSession关闭了,之后开启一个新的sqlSes