MyBatis
文章平均质量分 78
MyBatis
云杉先生和他的鹿
这个作者很懒,什么都没留下…
展开
-
MBS13: 日志工厂的简单使用
13.1 简介 在程序的开发过程中,我们往往需要进行大量的程序调试与排错。在初学阶段,我们往往使用的是sout与debug进行程序排错。而控制台的输出信息大多数时候都不够详细,因此日志工厂诞生,我们能够更为方便地查看后台日志,了解程序运行细节。13.2 开启日志 mybatis在核心配置文件中,提供了 settings 标签,语法如下:<settings> <setting name="" value=""/></settings>提示: name是设原创 2021-09-04 14:20:12 · 122 阅读 · 0 评论 -
MBS12: mybatis的一级缓存与二级缓存
12.1 简介 为了降低系统开销,减少与数据库的交互,mybatis会把一些需要经常使用的、不常变更的数据缓存在本地。每次进行数据访问时,仅仅只需要访问本地换粗即可,当然缓存仅仅用于查询,并不适合于增删改,毕竟没有意义。 缓存分为一级缓存与二级缓存 ,一级缓存是 SqlSession级别的 ,与SqlSession的生命周期一致。而 二级缓存则是namespace级别 的,与单个接口级别一致。当然,mybatis提供了 自定义二级缓存 的方法。12.2 一级缓存12.2.1 简介 正如前面介绍原创 2021-09-03 17:00:10 · 224 阅读 · 0 评论 -
MBS11: 动态SQL以及SQL片段的使用
11.1 简介 根据不同的情况,使用不同的SQL语句,例如修改用户信息,只修改性别等。而动态标签有 if、choose-when-otherwise、trim、foreach 等。11.2 If 的语句使用UserMapper.java:import com.yun.pojo.User;import org.apache.ibatis.annotations.Param;import java.util.List;import java.util.Map;public interfac原创 2021-09-02 23:32:41 · 191 阅读 · 0 评论 -
MBS10: ResultMap的高级映射
10.1 简介 使用MyBatis进行项目开发,对于实体类与数据库之间的映射十分严格。如果是简单的单个库,在实体类定义时,只要做到变量名同一即可。但是如果需要进行联表查询,当查询结果已经不满足于单个实体类,那么这个时候,则需要使用ResultMap进行映射。常用的情况则是,多对一查询( 关联 )、一对多查询( 集合 )。10.2 多对一查询10.2.1 数据准备MyBatis配置文件<?xml version="1.0" encoding="UTF-8" ?><!DOCT原创 2021-08-31 16:07:21 · 207 阅读 · 0 评论 -
MBS9: Lombok插件的安装与使用
9.1 简介 Lombok是一款用于简洁java语句的插件,可以使用注解自动生成类似于 setter()与getter() 这类方法。9.2 安装IDEA插件下载:file-settings-PluginsMaven依赖: <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactI原创 2021-08-25 16:08:29 · 111 阅读 · 0 评论 -
MBS8: 使用注解代替mapper进行实现类开发
8.1 简介 底层是反射机制实现与动态代理。8.2 使用TestMapper:package com.yun.test;import com.yun.pojo.User;import org.apache.ibatis.annotations.Select;import java.util.List;public interface TestMapper { @Select("select * from user") List<User> getUser原创 2021-08-24 23:54:47 · 299 阅读 · 0 评论 -
MBS7: MyBatis分页实现(SQL分页与Java分页)
7.1 简介 目的是为了减少数据的访问量 ,减轻数据库的压力。7.2 limit分页7.2.1 语法select * from 表名 startIndex,pageSize;select * from 表名 pageSize;提示: 如果使用时,表名之后只给定了一个pageSize参数,那么默认的语句是 select * from 表名 0,pagesize 。7.2.2 使用UserMapper:package com.yun.dao;import com.yun.pojo.U原创 2021-08-24 23:49:55 · 147 阅读 · 0 评论 -
MBS6: 数据库与实体类之间的字段映射问题(resultMap标签的使用)
6.1 简介 所谓实体类与数据库之间的映射,其实就是在java中创建一个类,用来存放数据库里的某一张表。但是,如果只是在纯粹的桌面端与web端开发中,没有使用到框架的化,其实字段与属性之间的映射要求并没有那么严格。但是,使用MyBatis框架之后,对于字段与属性之间的关系,是十分严格的。6.2 例子数据库:User表字段:字段类型idintnamevarchargenderintUser实体类:package com.yun.pojo;import原创 2021-08-23 17:28:48 · 2760 阅读 · 2 评论 -
MBS5: MyBatis配置文件属性详情
5.1 配置属性properties(属性)settings(设置)typeAliases(类型别名)typeHandlers(类型处理器)objectFactory(对象工厂)plugins(插件)environments(环境配置)environment(环境变量)transactionManager(事务管理器)dataSource(数据源)databaseIdProvider(数据库厂商标识)mappers(映射器)提示: 属性之间存在顺序,必须按照顺序写位置。prop原创 2021-08-23 17:26:34 · 147 阅读 · 0 评论 -
MBS4: Map接口传参、模糊查询以及#{}与${}的SQL注入问题
4.1 Map接口简介: 当我们在MyBatis中,使用对象进行传参时(例如MBS3中的User),如果实体类的属性十分庞大,而自己需要传递的参数只有几个,这时候使用对象传参是十分不换算的。例如,我们需要更改一个用户的姓名,但是User实体类中的属性有20几个,我们使用构造器时,是需要将20属性全部赋值的。因此,我们可以使用Map接口来节约资源,并简化操作。数据库:**idnamegender1张大姐22李大哥13王五婶24.2 代码实现User原创 2021-08-22 23:30:52 · 327 阅读 · 0 评论 -
MBS3: MyBatis的CRUD操作实现
3.1 实体类与数据库 数据库:idnamegender1张三姐22李四哥13王五婶2实体类:package com.yun.pojo;public class User { private int id; private String name; private int gender; public User() { } public User(int id, String name, in原创 2021-08-22 23:29:11 · 195 阅读 · 0 评论 -
MBS2: 创建一个Maven+MyBatis项目
2.1 简介 本项目基于Maven,如果没有maven需要收到导入相应的jar包: mysql-connector-java、junit、mybatis 。2.2 Maven依赖<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version&g原创 2021-08-21 18:23:45 · 189 阅读 · 0 评论 -
MBS1: MyBatis简介(MyBatis依赖包)
1.简介1.1 环境要求 JDK1.8、mysql5.7、maven3.6.1、IDEA1.2 内容 JDBC、Mysql、Java基础、Maven、Junit单元测试1.3 Maven依赖<!--sql--><dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId>原创 2021-08-21 18:14:24 · 550 阅读 · 0 评论