![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MyBatis
文章平均质量分 53
田野中的麦客
再小的帆也能远航
展开
-
Spring-mybatis声明式事务transaction
事务的回顾事务在项目开发过程非常重要,涉及到数据的一致性的问题,不容马虎!事务管理是企业级应用程序开发中必备技术,用来确保数据的完整性和一致性。 事务就是把一系列的动作当成一个独立的工作单元,这些动作要么全部完成,要么全部不起作用。事务四个属性ACID原子性(atomicity) 事务是原子性操作,由一系列动作组成,事务的原子性确保动作要么全部完成,要么完全不起作用。一致性 一旦所有事务动作完成,事务就要被提交。数据和资源处于一种满足业务规则的一致性状态中隔离性 可能原创 2021-09-27 17:38:35 · 322 阅读 · 0 评论 -
spring-mybatis整合方式两种
Spring和mybatis整合方式一什么是 MyBatis-Spring?MyBatis-Spring 会帮助你将 MyBatis 代码无缝地整合到 Spring 中。知识基础在开始使用 MyBatis-Spring 之前,你需要先熟悉 Spring 和 MyBatis 这两个框架和有关它们的术语。这 很重要MyBatis-Spring 需要以下版本:如果使用 Maven 作为构建工具,仅需要在 pom.xml 中加入以下代码即可:<dependency> <gr原创 2021-09-26 18:49:38 · 190 阅读 · 0 评论 -
mybatis 整合--回顾
mybatis-回顾(学习完Spring)相关jar包的导入<?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原创 2021-09-25 18:56:17 · 56 阅读 · 0 评论 -
MyBatis 二级缓存
MyBatis 二级缓存二级缓存也叫全局缓存,一级缓存作用域太低了,所以诞生了二级缓存基于namespace级别的缓存,一个名称空间,对应一个二级缓存;工作机制1.一个会话查询一条数据,这个数据就会被放在当前会话的一级缓存中;2.如果当前会话关闭了,这个会话对应的一级缓存就没了;但是我们想要的是,会话关闭了,一 级缓存中的数据被保存到二级缓存中;3.新的会话查询信息,就可以从二级缓存中获取内容;4.不同的mapper查出的数据会放在自己对应的缓存(map)中;二级缓存的使用官方文档1原创 2021-09-05 16:45:21 · 81 阅读 · 0 评论 -
MyBatis一级缓存
MyBatis缓存缓存简介什么是缓存 [ Cache ]?存在内存中的临时数据。将用户经常查询的数据放在缓存(内存)中,用户去查询数据就不用从磁盘上(关系型数据库 数据文件)查询,从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题。为什么使用缓存?减少和数据库的交互次数,减少系统开销,提高系统效率。什么样的数据能使用缓存?经常查询并且不经常改变的数据。MyBatis缓存MyBatis包含一个非常强大的查询缓存特性,它可以非常方便地定制和配置缓存。缓存可以极原创 2021-09-05 16:25:33 · 194 阅读 · 0 评论 -
MyBatis 动态sql
环境搭建、if语句、where、Set、choose语句什么是动态sql:动态SQL指的是根据不同的查询条件 , 生成不同的Sql语句。if语句、where、Set、choose语句的特点if语句:如果符合if中test的条件,则条件成立。where语句:标签,智能的处理“where 和and”。choose语句:只选择其中的一个条件,查询条件有一个满足即可。Set语句:set的意义和where类似,set是为了智能去除“,”。新建数据库表:bloguse mybatis;原创 2021-09-02 18:40:09 · 51 阅读 · 0 评论 -
MyBatis 一对多的处理
MyBatis一对多的处理一对多的理解:一个老师拥有多个学生如果从老师这边说,就是一对多的关系,即从一个老师下面有一群学生(集合)!按结果嵌套处理和按查询嵌套处理TeacherMapper接口编写方法public interface TeacherMapper { //test Teacher getTest(); //获取指定老师,及老师对应的所有学生 Teacher getTeacher(int id); Teacher getTeach原创 2021-09-02 15:13:18 · 77 阅读 · 0 评论 -
MyBatis 多对一的处理
MyBatis 多对一的处理多对一的理解:多个学生对应一个老师如果对于学生这边,就是一个多对一的现象,即从学生这边关联一个老师!1.数据库设计use mybatis;CREATE TABLE `teacher` ( `id` INT(10) NOT NULL, `name` VARCHAR(30) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=INNODB DEFAULT CHARSET=utf8;INSERT INTO teacher原创 2021-09-02 09:47:10 · 104 阅读 · 0 评论 -
MyBatis #与$的区别
MyBatis中使用 #与$的获取参数的区别#{} 的作用主要是替换预编译语句(PrepareStatement)中的占位符? 【推荐使用】INSERTINTOuser(name)VALUES(#{name});INSERTINTOuser(name)VALUES(?);${} 的作用是直接进行字符串替换INSERTINTOuser(name)VALUES('${name}'); INSERTINTOuser(name)VALUES('kuangshen');...原创 2021-09-01 15:52:31 · 41 阅读 · 0 评论 -
MyBatis 使用注解实现CRUD(增删改查)
注解增删改查测试时实现自动提交,改造MyBatisUtils工具类的getSession()方法注意点:@Param@Param注解用于给方法参数起一个名字。以下是总结的使用原则:在方法只接受一个参数的情况下,可以不使用@Param。在方法接受多个参数的情况下,建议一定要使用@Param注解给参数命名。如果参数是 JavaBean , 则不能使用@Param。不使用@Param注解时,参数只能有一个,并且是Javabean。MyBatisUtils.java //我们可以从中获得原创 2021-09-01 15:48:25 · 101 阅读 · 0 评论 -
MyBatis详细的执行流程
MyBatis详细的执行流程Resources加载全局配置文件----->实例化SqlSessionFactoryBuilder构建器----->由XMLConfigBuilder解析配置文件流----->把配置文件信息存放在Configuration中----->实例化SqlSessionFactory实现类DefaultSqlSessionFactory----->由TransactionFactory创建一个Transaction事务对象----->创建原创 2021-09-01 14:18:10 · 59 阅读 · 0 评论 -
MyBatis RowBounds实现分页
RowBounds实现分页前言:这是面向对象的实现分页,符合java的编程习惯,这种方法不推荐使用。Mapper.xml配置文件 <!--方式2:分页查询--> <select id="getUserByRowBounds" resultType="com.kuang.pojo.User"> select * from mybatis.user </select>Mapper接口 //RowBounds实现分页查原创 2021-09-01 10:47:42 · 271 阅读 · 0 评论 -
Java MyBatis limit分页
limit实现分页思考:为什么需要实现分页在学习mybatis等持久层框架的时候,会经常对数据进行增删改查操作,使用最多的是对数据库进行查 询操作,如果查询大量数据的时候,我们往往使用分页进行查询,也就是每次处理小部分数据,这样对 数据库压力就在可控范围内。使用Limit实现分页#语法SELECT * FROM table LIMIT stratIndex,pageSizeSELECT * FROM table LIMIT 5,10; // 检索记录行 6-15 #为了检索从某一个偏移量到记录集原创 2021-09-01 10:00:16 · 561 阅读 · 0 评论