MyBatis
MyBatis的学习笔记
针不戳耶
这个作者很懒,什么都没留下…
展开
-
10.Mybatis注解开发
MyBatis 的常用注解说明注解作用@Insert实现新增@Update实现更新@Delete实现删除@Selec t实现查询@Resul t实现结果集封装@Results可以与@Result 一起使用,封装多个结果集@ResultMap实现引用@Results 定义的封装@One实实现一对一结果集封装@Many实现一对多结果集封装@SelectProvider实现动态 SQL 映射@CacheNames原创 2020-11-16 13:10:22 · 150 阅读 · 0 评论 -
09.Mybatis延迟加载策略、缓存
Mybatis 延迟加载策略延迟加载策略说明解释: 就是在需要用到数据时才进行加载,不需要用到数据时就不加载数据。延迟加载也称懒加载好处: 先从单表查询,需要时再从关联表去关联查询,大大提高数据库性能,因为查询单表要比关联查询多张表速度要快坏处: 因为只有当需要用到数据时,才会进行数据库查询,这样在大批量数据查询时,因为查询工作也要消耗时间,所以可能造成用户等待时间变长,造成用户体验下降需求: 查询账户(Account)信息并且关联查询用户(User)信息。如果先查询账户(Acc原创 2020-11-16 10:17:22 · 56 阅读 · 0 评论 -
08.Mybatis多表查询
一对一(多对一)需求: 查询所有账户信息,关联查询下单用户信息注意: 因为一个账户信息只能供某个用户使用,所以从查询账户信息出发关联查询用户信息为一对一查询。如 果从用户信息出发查询用户下的账户信息则为一对多查询,因为一个用户可以有多个账户用户为User 表,账户为Account 表。一个用户(User)可以有多个账户(Account),模型如下方式一 (继承的方式)定义账户信息的实体类 @Date public class Account implements Serial原创 2020-11-15 20:12:09 · 52 阅读 · 0 评论 -
07.Mybatis动态 SQL 语句
动态 SQL 语句的作用Mybatis 的映射文件中,前面我们的 SQL 都是比较简单的,有些时候业务逻辑复杂时,我们的 SQL 是动态变化的,此时在前面的学习中我们的 SQL 就不能满足要求了这篇文章参考了这篇文章MyBatis的动态SQL详解-各种标签使用< if >标签作用: 我们根据实体类的不同取值,使用不同的 SQL 语句来进行查询。比如在 id 如果不为空时可以根据 id 查询, 如果 username 不同空时还要加入用户名作为条件。这种情况在我们的多条件组合查询原创 2020-11-15 19:06:51 · 56 阅读 · 0 评论 -
06.Mybatis连接池与事务
Mybatis 的连接池技术Mybatis 连接池的分类UNPOOLED 不使用连接池的数据源POOLED 使用连接池的数据源JNDI 使用 JNDI 实现的数据源说明PooledDataSource 和 UnPooledDataSource 都实现了 java.sql.DataSourcePooledDataSource 持有一个 UnPooledDataSource 的引用当 PooledDataSource 需要创建 java原创 2020-11-15 13:25:42 · 71 阅读 · 0 评论 -
02.SqlMapConfig.xml配置文件
SqlMapConfig.xml 中配置的内容和顺序< properties >属性标签(两种方式)第一种 <properties> <property name="driver" value="com.mysql.cj.jdbc.Driver"/> <property name="url" value="jdbc:mysql:///mybatis?serverTimezone=UTC"/> <原创 2020-11-15 11:14:53 · 128 阅读 · 0 评论 -
05.Mybatis传统 DAO 层开发[了解]
说明使用 Mybatis 开发 Dao,通常有两个方法,即原始 Dao 开发方式和 Mapper 接口代理开发方式,而现在主流的开发方式是接口代理开发方式,这种方式总体上更加简便实现 DAO 的传统开发方式持久层 Dao 接口public interface IUserDao { // 查询所有用户 List<User> findAll(); // 保存用户 void saveUser(User user); // 更新用户 v原创 2020-11-15 10:35:13 · 54 阅读 · 0 评论 -
04.MyBatis输入参数配置、输出结果的封装
输入参数配置parameterType 配置参数使用说明: parameterType的取值可以是基本类型,引用类型(String),实体类类型,包装类注意事项:基本类型和String可以直接写类型名称,也可以使用包名.类名的方式,例如:java.lang.String实体类类型,如果不起别名(在后面有介绍)就只能写全限定类名MyBatis支持的默认别名传递 pojo 包装对象开发中通过 pojo 传递查询条件,查询条件是综合的查询条件,不仅包括用户查询条件还包括其它的查询原创 2020-11-15 10:21:09 · 96 阅读 · 0 评论 -
03.MyBatis基于代理 Dao 实现 CRUD 操作
前提要求持久层接口和持久层的映射配置必须在相同的包下(目录相同)持久层映射配置中 mapper 标签的 namespace 属性取值必须是持久层接口的全限定类名(我的理解:当方法名相同时,用了做映射依据)SQL 语句的配置标签< select >,< insert >,< delete >,< update >的 id 属性必须和持久层接口的方法名相同实体类@Datapublic class User implements Serializab原创 2020-11-14 22:38:06 · 52 阅读 · 0 评论 -
01.MyBatis概述及入门案例
MyBatis框架概述mybatis是一个优秀的基于 java 的持久层框架,它内部封装了 jdbc,使开发者只需要关注 sql 语句本身, 而不需要花费精力去处理加载驱动、创建连接、创建 statement 等繁杂的过程mybatis通过 xml 或注解的方式将要执行的各种statement配置起来,并通过java对象和statement 中 sql 的动态参数进行映射生成最终执行的 sql 语句,最后由 mybatis 框架执行 sql 并将结果映射为 java 对象并返回采用 ORM 思想解决原创 2020-11-11 20:11:25 · 57 阅读 · 0 评论