![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Mybatis
知友丶
这个作者很懒,什么都没留下…
展开
-
Mybatis缓存
1.什么是缓存[ Cache ]? 存在内存中的临时数据。 将用户经常查询的数据放在缓存(内存)中,用户去查询数据就不用从磁盘上(关系型数据库数据文件)查询, 从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题。 2.为什么使用缓存? 减少和数据库的交互次数,减少系统开销,提高系统效率。 3.什么样的数据能使用缓存? 经常查询并且不经常改变的数据。【可以使用缓存】 Mybatis缓存: MyBatis包含一个非常强大的查询缓存特性,它可以非常方便地定制和配置缓存。缓存可以极大的提升查询效率。 MyB原创 2021-03-06 19:04:40 · 44 阅读 · 0 评论 -
Mybatis动态SQL
if choose (when, otherwise) trim (where, set) foreach 搭建环境 CREATE TABLE `blog`( `id` VARCHAR(50) NOT NULL COMMENT '博客id', `title` VARCHAR(100) NOT NULL COMMENT '博客标题', `author` VARCHAR(30) NOT NULL COMMENT '博客作者', `create_time` DATETIME NOT NULL COMMENT '创原创 2021-03-06 19:01:40 · 51 阅读 · 0 评论 -
数据库一对多查询
环境搭建 实体类: @Data public class Teacher { private int id; private String name; private List<Student> students; } @Data public class Student { private int id; private String name; //学生需要关联一个老师 private int tid; } 按照结果嵌套处理:原创 2021-03-06 18:56:42 · 1011 阅读 · 2 评论 -
数据库多对一查询
SQL: CREATE TABLE `teacher` ( `id` INT(10) NOT NULL, `name` VARCHAR(30) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=INNODB DEFAULT CHARSET=utf8 INSERT INTO teacher(`id`, `name`) VALUES (1, '戴老师'); CREATE TABLE `student` ( `id` INT(10) NOT NULL,原创 2021-03-05 00:38:41 · 409 阅读 · 2 评论 -
Lombok
使用步骤: 1.在IDEA中安装Lombok插件 2.在项目中导入Lombok的jar包 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.18</version> </dependency> 3.在实体类上加注解 @Getter and @Set原创 2021-03-05 00:24:48 · 137 阅读 · 1 评论 -
使用注解开发
1.注解在接口上实现 @Select("select * from user") List<User> getUsers(); 2.需要在核心配置文件中绑定接口 <mappers> <mapper class="com.dai.dao.UserMapper"/> </mappers> 3.测试 本质:反射机制实现 底层:动态代理 CRUD: 我们可以在工具类创建的时候实现自动提交事务 public static SqlSession g原创 2021-03-05 00:23:32 · 48 阅读 · 1 评论 -
Mybatis分页控制
语法: select * from user limit startIndex,pageSize; select * from user limit 3; #[0,n] 使用Mybatis实现分页,核心SQL 1.接口 //分页 List<User> getUserByLimit(Map<String,Integer> map); 2.Mapper.xml <select id="getUserByLimit" parameterType="map" resultMap="原创 2021-03-05 00:21:30 · 83 阅读 · 1 评论 -
Mybatis开启日志
日志工厂: 如果一个数据库操作出现了异常,我们需要排错,日志就是最好的助手 曾经: sout、debug 现在: 日志工场 SLF4J LOG4J LOG4J2 JDK_LOGGING COMMONS_LOGGING STDOUT_LOGGING NO_LOGGING 在Mybatis中具体使用哪一个日志实现,在设置中设定 STDOUT_LOGGING 标准日志输出 在mybatis核心配置文件中,配置我们的日志 <settings> <!-- 标准日志工厂实现--&原创 2021-03-05 00:17:23 · 4455 阅读 · 2 评论 -
解决属性名和字段名不一致问题
resultMap: 对应数据库中表的字段名称 id name pwd 对应的bean里面的属性名称 id name password <!--结果集映射--> <resultMap id="userMap" type="user"> <result column="id" property="id"/> <result column="name" property="name"/>原创 2021-03-05 00:14:11 · 189 阅读 · 2 评论 -
Mybatis配置解析
1.核心配置文件 mybatis-config.xml MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。 配置文档的顶层结构如下: configuration(配置) properties(属性) settings(设置) typeAliases(类型别名) typeHandlers(类型处理器) objectFactory(对象工厂) plugins(插件) environments(环境配置) environment(环境变量) transactionManager(事原创 2021-03-05 00:09:42 · 108 阅读 · 1 评论 -
第一个Mybatis程序
搭建数据库环境: CREATE DATABASE `mybatis`; USE `mybatis`; CREATE TABLE `user`( `id` INT(20) NOT NULL PRIMARY KEY, `name` VARCHAR(30) DEFAULT NULL, `pwd` VARCHAR(30) DEFAULT NULL )ENGINE=INNODB DEFAULT CHARSET=utf8; INSERT INTO `user`(`id`,`name`,`pwd`) VALUES (原创 2021-03-04 01:05:22 · 59 阅读 · 1 评论 -
Mybatis中的CRUD
1.namespace namespace中的包名要和mapper接口的包名一致 2. select 选择,查询语句 id:对应的namespace中的方法名 resultType:Sql语句执行的返回值 parameterType:参数类型 2.1、编写接口 //根据id查询用户 User getUserById(int id); 2.2、编写对应的mapper中的sql语句 <select id="getUserById" resultType="com.dai.pojo.User" param原创 2021-03-04 00:53:26 · 71 阅读 · 2 评论