随笔分类 -  mybatis梳理

摘要:1、为什么要用缓存? 如果缓存中有数据,就不用从数据库获取,大大提高系统性能。 mybatis提供一级缓存和二级缓存 2、一级缓存: (1)一级缓存是sqlsession级别的缓存 在操作数据库时,需要构造sqlsession对象,在对象中有一个数据结构(HashMap)用于存储缓存数据 不同的sq 阅读全文
posted @ 2021-01-22 15:42 Master_Sun 阅读(2258) 评论(0) 推荐(1)
摘要:占坑 阅读全文
posted @ 2021-01-22 15:31 Master_Sun 阅读(203) 评论(0) 推荐(0)
摘要:val : 和 scala 中 val 同名, 可以在运行时确定类型; @NonNull : 注解在参数上, 如果该类参数为 null , 就会报出异常, throw new NullPointException(参数名) @Cleanup : 注释在引用变量前, 自动回收资源 默认调用 close 阅读全文
posted @ 2021-01-22 15:19 Master_Sun 阅读(391) 评论(0) 推荐(0)
摘要:部门和员工的关系,一个部门多个员工,一个员工属于一个部门 我们可以采取两种方式来维护关系,一种在“一”的一方,一种在“多”的一方! 数据库设计 CREATE TABLE `dept` ( `id` INT(10) NOT NULL, `name` VARCHAR(30) DEFAULT NULL, 阅读全文
posted @ 2021-01-22 15:03 Master_Sun 阅读(142) 评论(0) 推荐(0)
摘要:配置日志的一个重要原因是想在调试的时候能观察到sql语句的输出,能查看中间过程 1、标准日志实现 指定 MyBatis 应该使用哪个日志记录实现。如果此设置不存在,则会自动发现日志记录实现。 STD:standard out:输出 STDOUT_LOGGING:标准输出日志 <settings> < 阅读全文
posted @ 2021-01-22 13:49 Master_Sun 阅读(230) 评论(0) 推荐(0)
摘要:数据库表的字段:u_id, u_user_name, u_password 类当中的命名:uId、uUserName、uPassword getter setter 重写别忘了 1. 核心配置文件中: 就能自动的将 下划线 转成 驼峰 2. 注意顺序 3. 阅读全文
posted @ 2021-01-22 13:32 Master_Sun 阅读(328) 评论(0) 推荐(0)
摘要:详细:https://mybatis.org/mybatis-3/zh/sqlmap-xml.html#Result_Maps 属性名和字段名不一致,我们一般都会按照约定去设计数据的,但是也难免瞎起名字 1、Java中的实体类设计 public class User { private int id 阅读全文
posted @ 2021-01-22 10:45 Master_Sun 阅读(85) 评论(0) 推荐(0)
摘要:1、 概述 2、if元素(非常常用) 3、choose、when、otherwise元素 多个条件选一个,优先级高的放在上面。 例: 4、where元素 与if连用 多条件查询 例: 5、trim元素(动态增加) 有时候我们要去掉一些特殊的SQL语法,比如常见的and、or,此时可以使用trim元素 阅读全文
posted @ 2021-01-21 15:43 Master_Sun 阅读(367) 评论(0) 推荐(0)
摘要:mybatis的配置文件分为 核心配置文件 和 mapper配置文件 1、核心配置文件 (1)environments元素 (2)mappers元素 mappers的存在就是要对写好的mapper和xml进行统一管理 要不然系统怎么知道我写了哪些mapper 核心配置文件要写上: 每个Mapper接 阅读全文
posted @ 2021-01-21 12:46 Master_Sun 阅读(81) 评论(0) 推荐(0)
摘要:(1)思考: <select id="getUsersByParams" resultType="java.util.HashMap"> select id,username,password from user where username = #{name} </select> resultTy 阅读全文
posted @ 2021-01-21 12:23 Master_Sun 阅读(58) 评论(0) 推荐(0)
摘要:详细:https://blog.csdn.net/mrqiang9001/article/details/79520436 一个参数,但是是数组,必须加@Param 见梳理11 foreach元素 例子: 阅读全文
posted @ 2021-01-21 11:05 Master_Sun 阅读(101) 评论(0) 推荐(0)
摘要:map可以代替任何的实体类,所以当我们数据比较复杂时,可以适当考虑使用map来完成相关工作 1、写sql <select id="getUsersByParams" resultType="map"> select id,username,password from user where usern 阅读全文
posted @ 2021-01-21 10:54 Master_Sun 阅读(218) 评论(0) 推荐(0)
摘要:如果有索引,前面的%不要加 例子: 或者 阅读全文
posted @ 2021-01-21 10:44 Master_Sun 阅读(56) 评论(0) 推荐(0)
摘要:1、接口中添加注解 public interface AdminMapper { /** * 保存管理员 * @param admin * @return */ @Insert("insert into admin (username,password) values (#{username},#{ 阅读全文
posted @ 2021-01-21 10:30 Master_Sun 阅读(81) 评论(0) 推荐(0)
摘要:基础: 1.接口添加方法 2. 接口对应的配置文件注册 简化: 3. 每次测试都需要获取session对象 整个before 4. 每次执行完都要关闭session 整个after 5. 最终简化 查 6. TestUser里面测试另一个方法,查找 7. 注意 8. 面试常问 增 9. 增加 这里不 阅读全文
posted @ 2021-01-20 22:49 Master_Sun 阅读(66) 评论(0) 推荐(0)
摘要:1. 建立数据库 DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `id` int(20) NOT NULL, `username` varchar(30) DEFAULT NULL, `password` VARCHAR(30) DEFAULT 阅读全文
posted @ 2021-01-20 21:31 Master_Sun 阅读(71) 评论(0) 推荐(0)
摘要:代理设计模式 代理的核心功能是方法增强 (1) 静态代理 ①静态代理角色分析 ②代码实现 抽象角色 真实角色 代理角色 客户: ③ 分析: 优缺点: (2) 动态代理 两种实现方式:① 基于接口的动态代理--JDK动态代理 ②基于类的动态代理--cglib ① Proxy:第一个参数 类加载器,第二 阅读全文
posted @ 2021-01-20 20:41 Master_Sun 阅读(129) 评论(0) 推荐(0)
摘要:文档官网:https://mybatis.org/mybatis-3/zh/index.html 1. 简介 2. 持久化 3. 持久层 4. 持久层框架 5. mybatis的特点+优缺点 阅读全文
posted @ 2021-01-20 20:10 Master_Sun 阅读(91) 评论(0) 推荐(0)