摘要: 一、一级缓存 /** * 一级缓存(本地缓存):SqlSession 级别。一级缓存是默认开启的,为 SqlSession 级别的一个 Map * 与数据库同一次会话期间查询到的数据会放在本地缓存中,以后如果需要获取相同的数据,直接从缓存中获取。 */ public static void main 阅读全文
posted @ 2019-03-08 15:06 江湖小小白 阅读(989) 评论(0) 推荐(0)
摘要: MyBatis 的动态 SQL 使用 OGNL 表达式 http://commons.apache.org/proper/commons-ognl/language-guide.html 在 XML 中的一些特殊字符需要转义,参考 HTML ISO-8859-1 手册 http://www.w3sc 阅读全文
posted @ 2019-03-08 09:04 江湖小小白 阅读(10668) 评论(0) 推荐(1)
摘要: 一、返回集合 1.返回 JavaBean 集合 public List<MyUser> selectMyUserByNameLike(String name); <!-- resultType 集合内的元素类型 --> <select id="selectMyUserByNameLike" resu 阅读全文
posted @ 2019-03-06 17:10 江湖小小白 阅读(60024) 评论(0) 推荐(0)
摘要: 一、看两种取值的效果 <select id="selectMyUserIdAndAge" resultType="myUser"> select * from myuser where id = #{arg0} and age = ${user.age} </select> ==> Preparin 阅读全文
posted @ 2019-03-06 09:32 江湖小小白 阅读(970) 评论(0) 推荐(0)
摘要: 以如下入参为例,MyBatis 版本为 3.5.0 打上断点 大致流程 1、进入到 MapperProxy 类的 invoke 方法,执行接口的代理对象中的方法 2、进入到 MapperMethod 类的 execute 方法,执行数据库操作 3、进入到 ParamNameResolver 类的 g 阅读全文
posted @ 2019-03-05 20:48 江湖小小白 阅读(4418) 评论(0) 推荐(0)
摘要: SQL 映射文件的几种入参情况 一、单个基本类型参数 public MyUser selectMyUser(Integer id); <!-- #{参数名或任意名}:取出参数值 --> <select id="selectMyUser" resultType="myUser" parameterTy 阅读全文
posted @ 2019-03-05 16:57 江湖小小白 阅读(1666) 评论(0) 推荐(0)
摘要: 一、接口方法 /** * 删除、修改、添加操作都可以返回三种类型 * Integer、Long、Boolean */ public interface MyUserMapper { public MyUser selectMyUser(Integer id); public Integer upda 阅读全文
posted @ 2019-03-05 15:12 江湖小小白 阅读(519) 评论(0) 推荐(0)
摘要: 一、引用 properties 配置文件 db.properties driver=com.mysql.cj.jdbc.Driver url=jdbc:mysql://192.168.8.136:3306/mybatis username=root password=root mybatis-con 阅读全文
posted @ 2019-03-05 10:52 江湖小小白 阅读(1692) 评论(0) 推荐(0)
摘要: 一、依赖配置 1.pom.xml 2.mybatis-config.xml 二、测试 以 myuser 表为例 1.对应实体类 2.对应接口 3.接口对应的映射文件 4.将映射添加到 MyBatis 配置文件 mybatis-config.xml 上面已添加 5.测试方法 官方文档 GitHub 地 阅读全文
posted @ 2019-03-05 09:22 江湖小小白 阅读(241) 评论(0) 推荐(0)
摘要: 一、存储过程 创建 CREATE DEFINER=CURRENT_USER PROCEDURE `adder`(IN a int, IN b int, OUT sum int) BEGIN DECLARE c int; if a is null then set a = 0; end if; if 阅读全文
posted @ 2019-03-04 10:31 江湖小小白 阅读(373) 评论(0) 推荐(0)
摘要: HikariCP 依赖:https://central.sonatype.com/artifact/com.zaxxer/HikariCP <dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifac 阅读全文
posted @ 2019-03-01 14:44 江湖小小白 阅读(1205) 评论(0) 推荐(0)
摘要: Spring MVC 执行流程:https://www.cnblogs.com/jhxxb/p/10437384.html @RequestMapping @Target({ElementType.TYPE, ElementType.METHOD}) // 能够用到类上和方法上 @Retention 阅读全文
posted @ 2019-03-01 13:54 江湖小小白 阅读(391) 评论(0) 推荐(0)
摘要: JDBC 批处理 SQL 语句 首先在 jdbc 的 url 中加上 rewriteBatchedStatements=true,只有开启了这个 Mysql 才会执行批处理,否则还是一条一条执行 Statement 不使用 Batch import org.junit.jupiter.api.Aft 阅读全文
posted @ 2019-02-28 16:43 江湖小小白 阅读(1447) 评论(0) 推荐(0)
摘要: 数据库中事务,指一组逻辑操作单元,使数据从一种状态变换到另一种状态。 操作全部完成时,数据被保留,一致性可以保持,一部分操作失败时,整个操作全部视为错误,所有被操作数据回退到开始状态,放弃修改。 事务的 ACID 属性 Atomicity(原子性):事务中的所有操作,要么全部完成,要么全部不完成,不 阅读全文
posted @ 2019-02-28 15:55 江湖小小白 阅读(478) 评论(0) 推荐(0)
摘要: Blob 是一个二进制大型对象(文件),在 MySQL 中有四种 Blob 类型,区别是容量不同 TinyBlob 255B Blob 65KB MediumBlob 16MB LongBlob 4GB 插入数据 import org.junit.jupiter.api.AfterEach; imp 阅读全文
posted @ 2019-02-28 11:20 江湖小小白 阅读(888) 评论(0) 推荐(0)