![](https://img-blog.csdnimg.cn/20201026194538686.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Mybatis
是一个优秀的基于Java的持久层(与数据库相关)框架,它内部封装了jdbc,使开发者只需要关注sql语句本身,而不需要花费精力去加载驱动、创建连接、创建statement等繁杂的过程。它使用了 ”ORM“ 思想实现了结果集的封装。
ORM(Object Relational Mapping)对象
半三鱼
难的清醒,长时间糊涂。
展开
-
Mybatis注解开发之多表查询及如何打开延迟加载和缓存
Mybatis注解之多表查询注解建立实体类属性和数据库表中列的对应关系注解开发一对一查询配置创建两个实体类User.java和Account.java创建两个Dao接口IUserDao和IAccountDao配置SqlMapConfige.xml和pom.xml文件(*省略*)封装account(使用注解开发)+Results源码分析创建测试类注解开发一对多查询配置一对多关系映射封装Account数据注解开启二级缓存 注解建立实体类属性和数据库表中列的对应关系 当实体类属性与数据库表的字段名不一致时,注解原创 2020-10-26 19:13:28 · 142 阅读 · 0 评论 -
Mybatis中的缓存
Mybatis中的一级缓存和二级缓存Mybatis中的缓存一级缓存二级缓存 Mybatis中的缓存 什么是缓存:存在于内存中的临时数据 为什么使用缓存:减少和数据库的交互次数,提高查询速度。 什么样的数据能使用缓存?什么样的数据不能使用缓存? ----------------------------适用于缓存:经常查询并且数据步经常改变的。 ----------------------------------------------数据的正确与否对最终结果影响不大的。 ------------------原创 2020-10-25 21:02:13 · 146 阅读 · 0 评论 -
Mybatis延迟加载
Mybatis延迟加载延迟加载如何实现延迟加载一对一方式延迟加载一对多方式延迟加载 延迟加载 延迟加载:真正使用数据时才发起查询,不用的时候不查询。按需加载(懒加载)。 优点:先从单表查询,需要时再从关联表去关联查询,大大提高了数据库的性能,因为查询单表要比关联查询多张表的速度快的多。 立即加载:不管用不用,只要一调用方法,马上发起查询。 如何实现延迟加载 - 我们在进行多表的操作时,在配置文件中通过resultMap实现一对多、 多对一和一对一关系的操作,主要是通过association、原创 2020-10-24 15:52:09 · 69 阅读 · 0 评论 -
Mybatis多表查询
这里写目录标题一对一-建立实体类关系的方式二级目录三级目录一对一-建立实体类关系的方式 一对一-建立实体类关系的方式 二级目录 三级目录 介绍: 主表:在数据库中建立的表格即Table,其中存在主键(primary key)用于与其它表相关联,并且作为在主表中的唯一性标(通俗的说就是只有主键没有外键并且主键是其他表的外键) 从表:以主表的主键(primary key)值为外键 (Foreign Key)的表,可以通过外键与主表进行关联查询。从表与主表通过外键进行关联查询。 一对一-建立实体类关系的方式原创 2020-10-16 00:34:29 · 154 阅读 · 0 评论 -
Mybatis动态sql-if、where、foreach标签的使用
if标签: 在映射配置文件中 <select id="findUserByCondition" resultType="user" parameterType="user"> select * from user where 1=1 <if test="username!=null"> and username = #{username} </if> <原创 2020-10-15 11:32:52 · 583 阅读 · 0 评论 -
Mybatis--properties标签与typeAlias标签
properties配置数据库信息 第一种写法: 第二种写法: 在Configuration内的最顶部使用properties 在property的属性value使用 ${properties中property的name的值} <configuration> <!--配置properties--> <properties> <property name="driver" value="com.mysql.cj.jdbc.D原创 2020-10-12 15:42:41 · 130 阅读 · 0 评论 -
Mybatis的参数-resultType
@TOCMybatis的参数-resultType(返回结果类型) 1.输出基本类型 int,String等。 2.输出pojo对象(查询一个) 3.输出pojo列表(查询所有) Mybatis 当使用查询的封装的时候要求实体类属性和数据库字段名一致,当不一样的时候怎么办?。 user表: User.java private Integer id; private String username; private Date birthday; private String原创 2020-10-11 20:48:50 · 584 阅读 · 0 评论 -
Mybatis的参数-parameterType
Mybatis的参数-parameterType(输入类型) 1.传递简单类型 int ,String 等 2.传递pojo对象 (实体类对象) Mybatis使用OGNL表达式解析对象字段的值,#{}或者${}括号中的值为pojo属性名称 3.转递pojo包装对象(实际开发中常用) 对实体类对象再包一层(实体类作为其中一个属性) 开发中通过pojo转递查询条件,查询条件是综合的查询条件不仅包括用户查询条件还包括其他查询条件(比如将用户购买商品信息也作为查询条件)这时可以使用包装对象转递输入参数。Pojo原创 2020-10-11 19:17:44 · 2630 阅读 · 0 评论 -
Mybatis保存操作的小细节
@[TOC]Mybatis保存操作的小细节-获取保存数据的id(select last_insert_id()) 原来的保存数据dao.xml <!--保存用户--> <insert id="saveUser" parameterType="com.itheima.domain.User"> <!--parameterType参数类型values(参数)--> insert into user(username,birthday,sex,addr原创 2020-10-11 17:46:46 · 597 阅读 · 0 评论 -
基于Mybatis的CRUD
@[TOC]基于Mybatis的CRUD 一、查询操作 二、插入操作 三、删除操作 四、修改操作 文章目录一、查询操作二、插入操作三、删除操作四、修改操作一、查询操作二、插入操作 一、查询操作 User.java(User类的属性名和表user的字段名一致) package com.itheima.domain; import java.io.Serializable; import java.util.Date; public class User implements Serializable {原创 2020-10-10 23:46:04 · 157 阅读 · 3 评论 -
Mybatis入门案例的设计模式分析
@[TOC]自定义mabatis框架(为了了解mybatis的执行细节)(这里写目录标题) 一级目录 二级目录 三级目录原创 2020-10-09 21:52:40 · 80 阅读 · 0 评论 -
Mybatis入门
Mybatis的入门 Day-1mybatis的概述mybatis的环境搭建mybatis的入门案例自定义mybatis框架(为了了解mybatis中的执行细节)mybatis的概述 mybatis的概述 mybatis的环境搭建 mybatis的入门案例 自定义mybatis框架(为了了解mybatis中的执行细节) mybatis的概述 什么是框架:它是我们软件开发中的一种解决方案,不同的框架解决的是不同的问题。 使用框架的好处:框架封装了很多细节,使开发者可以使用极简的方式实现功能,大大提高原创 2020-10-09 18:43:41 · 136 阅读 · 0 评论