摘要: 1. 在SqlMapconfig.xml中开启二级缓存支持 Mybatis默认开启了二级缓存,可以不用配置。 Mybatis官网: 2. 在持久层接口中使用注解配置二级缓存 3. 编写测试类 开启二级缓存后,数据库只进行了一次查询。 阅读全文
posted @ 2019-07-20 15:39 伊万夫斯基 阅读(485) 评论(0) 推荐(0) 编辑
摘要: 需求:使用注解方式实现,查询用户信息时,也要查询对应的账户列表。 一个用户具有多个账户信息,所以形成了用户(User)与账户(Account)之间的一对多关系。 1. User实体类中加入 2. 编写用户的持久层接口并使用注解配置 3. 编写账户的持久层接口并使用注解配置 4. 编写测试方法 阅读全文
posted @ 2019-07-20 15:34 伊万夫斯基 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 复杂关系映射的注解说明 实体类属性和数据库表中列名不一致的时候,使用 注解。 举例: 下面详细介绍一下 注解的参数: 基于注解开发一对一的查询配置 1. 添加Account实体类 2. 编写Account账户的持久层接口并使用注解配置 3. 测试一对一关联及延迟加载 阅读全文
posted @ 2019-07-20 15:33 伊万夫斯基 阅读(675) 评论(0) 推荐(0) 编辑
摘要: 问题: 在一对多中,当我们有一个用户,它有100个账户。 在查询用户时,用户下的账户信息是,什么时候用,什么时候再查询。 在查询账户时,账户的所属用户信息应该是随着账户查询时再查询出来。 什么是延迟加载 延迟加载 在真正使用数据时才发起查询,不用的时候不查询。按需加载(懒加载) 立即加载 不管用不用 阅读全文
posted @ 2019-07-20 15:27 伊万夫斯基 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 创建步骤: 1. 创建maven工程,什么都不选就ok,并导入坐标; 2. 编写User实体类,java目录下创建com.ben.domain包,创建User实体类 3. 使用注解方式编写持久层接口 4. 在resources文件夹中,创建Mybatis的主配置文件SqlMapConfig.xml; 阅读全文
posted @ 2019-07-20 15:25 伊万夫斯基 阅读(281) 评论(0) 推荐(0) 编辑
摘要: Mybatis的缓存 缓存基本概念 缓存是存在于内存中的临时数据 为什么用缓存?减少和数据库的交互次数,提高执行效率。 什么地方用缓存? | 条件 | 情况 | | | | | 适用于缓存 | 经常查询并且不经常改变的,数据的正确与否对最终结果影响不大的 | | 不适用于缓存 | 经常改变的数据,数 阅读全文
posted @ 2019-07-20 15:22 伊万夫斯基 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 多对多 需求: 用户和角色 ​ 一个用户可以有多个角色 ​ 一个角色可以赋予多个用户 分析: 1. User表和Role表具有多对多关系,需要使用中间表,中间表中包含各自的主键,在中间表中是外键; 2. 建立两个实体类:用户实体类中包含对角色的集合引用,角色实体类中包含对用户的集合引用; 3. 建立 阅读全文
posted @ 2019-07-20 15:15 伊万夫斯基 阅读(320) 评论(0) 推荐(0) 编辑
摘要: 一对多 需求: 查询所有用户信息及用户关联的账户信息。 分析: 用户信息和他的账户信息为一对多关系,并且查询过程中如果用户没有账户信息,此时也要将用户信息查询出来,我们想到了左外连接查询比较合适。 步骤: 1. 编写SQL语句; 查询到用户信息与其对应账户信息,如图所示。 2. User类中加入 ; 阅读全文
posted @ 2019-07-20 15:09 伊万夫斯基 阅读(368) 评论(0) 推荐(0) 编辑
摘要: 多表操作 举例说明 多对一: 用户和订单是一对多,一个用户可以下多个订单; 订单和用户是多对一,多个订单属于同一个用户。 一对一: 人和身份证号。一个人只能有一个身份证号,一个身份证号也只能被一个人所有。 多对多: 老师和学生之间。一个学生可以被多个老师教过,一个老师可以交多个学生。 开始之前 1. 阅读全文
posted @ 2019-07-20 15:07 伊万夫斯基 阅读(415) 评论(0) 推荐(0) 编辑