
Mybatis
qq_41335802
这个作者很懒,什么都没留下…
展开
-
mybatis缓存
一、缓存概念1.什么是缓存?1.存储在内存当中的数据。2.将用户常使用的数据存放在缓存(内存)当中,用户查询数据就不用从磁盘(关系型数据库文件)当中查询,从缓存当中查询,从而提高查询效率,解决了高并发系统的性能问题。2.缓存的作用减少和数据库的交互次数,减少系统开销,提高系统效率。3.使用场景经常查询并且不长改变的数据。二、Mybatis缓存mybatis包含了一个非常强大的查询缓存特性,他可以非常方便的定制和配置缓存。缓存...原创 2022-01-13 12:32:37 · 581 阅读 · 0 评论 -
Mybatis连表查询
1.一对一、多对一(association)<select id="listPage1" parameterType="java.lang.Long" resultMap="BaseResultMapOneToOne"> select <include refid="Base_Column_List" /> from student</select>//结果映射<resultMap id="BaseResultMapOneTo原创 2021-12-25 18:47:43 · 470 阅读 · 0 评论 -
foreach标签
collection:表示迭代集合的名称,自定义名称,可以使用@Param注解指定 只有一个List/Array/Map类型参数时,如果不加@Param注解,collection分别必须填:list、array、map中的key属性 有多个参数时,不加@Param注解,collection和默认参数名称一致 如果加@Param注解,都和注解定义一致 item:表示本次迭代获取的元素,自定义名称;表示本次迭代获取的元素,若collection为List、Set或者数组,则表示其中的元素;若co原创 2021-12-25 18:41:36 · 184 阅读 · 0 评论 -
trim标签
trim标签是一个格式化的标签,可以完成set或者是where标签的功能1.用 trim 实现if+where 语句<select id="selectUserByUsernameAndSex" parameterType="com.qcby.entity.User" resultType="com.qcby.entity.User"> select * from user<!-- <where>-->原创 2021-12-25 17:47:46 · 2350 阅读 · 0 评论 -
动态sql与<if>标签
Mybatis中的sql语句处理在遇到where字句中有多项判断,并且判断的入参可能为空时。如果是忽略或者是只是用<if>标签判断非空,仍可能引起查询不正确,或sql语句报错。正确的使用方法时<if>标签搭配<where>标签或<set>标签使用,<set>标签用于可用于插入语句或更新语句。<where><if><select id="selectUserByUsernameAndSex" paramet原创 2021-12-21 20:25:11 · 919 阅读 · 0 评论 -
#{}和${}的区别
1.配置sql输出日志注意:要在配置文件的第一行进行配置。<!-- settings:控制mybatis的全局行为--><settings> <!--设置mybatis输出日志--> <!--logImpl:表示对日志的控制--> <!--STDOUT_LOGGING:将日志输出到控制台上--> <setting name="logImpl" value="STDOUT_LOGGING" .原创 2021-12-21 20:08:05 · 323 阅读 · 0 评论 -
MyBatis参数详解
1. parameterType(入参类型)1. 简单数据类型int、double类型、String类型简单的写法:java.lang.Integer --> int integer Int Integer 都可以,框架提供简写的方式。2. POJO(JavaBean实体类)对象类型默认是不能简写,可以配置。例如,User对象。2. resultType(返回类型)1. 返回简单数据类型int、double、long、String2. 返回POJO数据类型例如,原创 2021-12-21 19:51:07 · 739 阅读 · 0 评论 -
Mybatis的增删改查
1.UserDao接口代码import com.qcby.entity.User;import java.util.List;public interface UserDao { /** * 全部查询 * @return */ public List<User> findAll(); /** * 根据id进行查询 * @param id */ public User findById(in原创 2021-12-21 19:43:21 · 68 阅读 · 0 评论 -
Mybatis模糊查询
现实场景中模糊查询随处可见,Mybatis实现模糊查询有多种形式。但本质来说是处理好SQL语句中like关键字之后的部分。1.使用CONCAT拼接(首选方式)<if test="article.title != null">title like CONCAT('%',#{article.title},'%')</if>使用方式如上,注意CONCAT()中#{article.tile}不加引号。2.使用#{……}title like "%"#{title}"原创 2021-11-25 17:13:14 · 306 阅读 · 0 评论 -
Mybatis批量删除与批量插入
Mybatis提供了<foreach>来实现SQL语句中的批量操作,例如,批量删除与批量插入。其中具体的参数可以通过实例来说明。批量插入:<insert id="insertBatch"> insert into student (name, img, sex, create_time) values <foreach collection="studentList" item="student" separator=",">原创 2021-11-25 17:00:11 · 577 阅读 · 0 评论 -
Mybatis回填主键
在实际的应用场景中,经常会遇到插入一条新记录后就对它进行相关操作。例如,处理其关系,因此要用到新记录的主键。为了简化操作Mybatis可以在插入的同时获取记录的主键。有两种形式如下:<!--返回主键 :我们的主键需要设置自动递增 --> <insert id="insertGetId" parameterType="com.qcby.entity.User"> <selectKey keyProperty="id" resultType="in原创 2021-11-25 16:39:15 · 625 阅读 · 0 评论