自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 Mybatis的缓存:一级缓存,二级缓存

Mybatis缓存Mybatis包含了一个非常强大的查询缓存特性,它可以很方便的配置和定制。Mybatis中的缓存实现的很多改进都已经实现了,使得它更加强大而且易于配置。Mybatis默认情况下只会开启一级缓存,也就是局部的session会话缓存。什么是查询缓存?查询缓存又有什么作用?mybatis提供查询缓存,用于减轻数据压力,提高数据库性能。每一个session会话都有自己的缓存,这缓存是局部的,也就是所谓的一级缓存:一级缓存是SqlSession级别的缓存,我们都知道在操作数据库时

2020-09-23 14:46:36 370

原创 MyBatis 延迟加载(懒加载)—— association 延迟加载、collection 延迟加载

一、概述1、延迟加载:就是在需要用到数据时才进行加载,不需要用到数据时就不加载数据。延迟加载也称懒加载2、好处:先从单表查询,需要时再从关联表去关联查询,大大提高数据库性能,因为查询单表要比关联查询多张表速度要快。3、坏处:因为只有当需要用到数据时,才会进行数据库查询,这样在大批量数据查询时,因为查询工作也要消耗时间,所以可能造成用户等待时间变长,造成用户体验下降。4、MyBatis 多表查询在多表查询时,使用了resultMap来实现一对一,一对多,多对多关系的操作。主要是通过

2020-09-22 23:38:17 727

原创 Mybatis延迟加载:association和collection实现延迟加载

Mybatis中的延迟加载,缓存机制1.Mybatis中的延迟加载 什么是延迟加载 什么是立即加载2.Mybatis中的缓存 什么是缓存 为什么使用缓存 什么样的数据能使用缓存,什么样的数据不能使用缓存 Mybatis中的一级缓存和二级缓存3.Mybatis中的注解开发 环境搭建 单表CRUD查询(代理Dao方式) 多表查询操作 缓存的配置在延迟加载中,有一个问题:在一对多中,当我们有一个用户,它有100个账户 在查询用户的时候,要不要把关联的账户查出来? 在查询账户的时候

2020-09-22 23:22:59 775

原创 Mybatis中ResultType和ResultMap区分,id和result属性

ResultType和ResultMap的区别总结:基本映射:(resultType)使用resultType进行输出映射,只有查询出来的列名和pojo中的属性名一致,该列才可以映射成功(数据库,实体,查询字段,这些全部都得一一对应),高级映射:(resultMap)如果查询出来的列名和pojo的属性名不一致,通过定义一个resultType对列名和pojo属性名之间作一个映射关系。(高级映射,字段名称可以不一致,通过映射来实现)。resultType和resultMap功能类似,都是返回对象信息

2020-09-21 16:09:57 3714

原创 无法对数据库中的数据进行修改,报以下错误

       前两天在做Mybatis数据库的多表查询时,想要对数据库中的数据进行删除和修改,却发现无论什么办法都没对其修改成功,主键什么的都设置好了,数据库的语法也都没有问题,最后找到了这个解决办法:错误描述:错误描述:delete from user> 1451 - Cannot delete or update a parent row: a foreign key constraint fails (`databas

2020-09-21 15:27:43 1730

原创 Mybatis多表查询之多对多(角色到用户的查询,用户到角色的查询)

Mybatis多表查询之多对多实现用户和角色之间的多对多用户与角色之间的关系模型: 一个用户可以有多个角色。 一个角色可以赋予多个用户。步骤: 1.建立两张表,用户表和角色表。 让用户表和角色表之间具有多对多的关系。 需要使用中间表,中间表包含各自的主键,在中间表中是外键。 2.建立两个实体类:用户实体类和角色实体类。 让用户和角色的实体类能体现出来多对多的关系。 各自包含对方的一个集合引用。 3.建立两个配制文件 用户的配制文件。 角色的配制文件。 4.实现配置:

2020-09-21 15:17:06 4158 2

原创 mybatis一对多多对一查询

Mybatis多表查询之一对多一对一查询(多对一查询)需求: 查询所有账户信息,关联查询下单用户信息注意: 因为一个账户信息只能供,某个用户使用,所以从查询账户信息出发关联查询用户是一对一查询,如果从用户信息出发查询用户下的账户信息则是一对多查询,因为一个用户可以有多个账户。mybatis中的多表查询: 示例:用户和账号 一个用户可以有多个账号 一个账号只能属于一个用户(多个账户也可以属于同一个用户)步骤: 1.建立两张表:用户表,账户表。 让用户表和账户表之间具备一对多的关系

2020-09-21 15:14:33 609 1

原创 Mybatis的动态SQL语句(if标签,where标签,foreach标签)

Mybatis的动态SQL语句应用场景​       在实际应用开发过程中,我们往往需要写复杂的SQL语句,需要拼接,而拼接SQL语句又稍微不注意,由于引号,逗号等缺失可能都会导致错误,Mybatis提供了动态SQL语句,也就是可以根据用户提供的参数,动态决定查询语句依赖的查询条件或SQL语句的内容。if标签持久层Dao接口//查询的条件,有可能有用户名,有可能有性别,也有可能有地址,还有可能都有List<User&gt

2020-09-16 17:09:46 1095

原创 Mybatis连接池与事务深入

Mybatis的连接池技术Mybatis中的连接池技术,它采用的是自己的连接池,在Mybatis的SqlMapConfig.xml配置文件中,通过<dataSource type="POOLED">来实现Mybatis中连接池的配置。Mybatis连接池的分类Mybatis连接池提供了3种方式的配置: 配置的位置:主配置文件SqlMapConfig.xml中的dataSource标签。type属性就是表示采用何种连接池技术:type属性的取值: POOLED:采用传统的javax

2020-09-16 15:29:38 194

原创 Mybatis传统DAO层开发和SqlMapConfig.xml配制文件

Mybatis传统DAO层开发 使用Mybatis开发Dao,通常有两个方法,即原始Dao开发方式和Mapper接口代理开发方式。而现在 主流的开发方式是接口代理开发方式,这种方式总体上更加简便。Mybatis实现DAO的传统开发方式分析编写dao实现类Mybatis的执行过程:(1)持久层Dao接口public interface IUserDao { //查询所有的用户 List<User> findAll(); //保存方法 void sav

2020-09-14 23:23:03 262

原创 Mybatis的参数深入和输出结果封装

Mybatis的参数深入parameterType配置参数在基于代理Dao实现CRUD操作中我们已经介绍了SQL语句传参,使用标签的parameterType属性来设定。该属性的取值可以是基本类型,引用类型(例如:String类型),还可以是实体类类型(POJO类),同时也可以使用实体类的包装类。在开发过程中我们通过pojo传递来查询条件,查询条件是综合的查询条件,不仅包括用户查询条件还包括其它的查询条件(比如将用户购买商品信息也作为查询条件),这时可以使用包装对象传递输入参数。Pojo类中包含p

2020-09-14 00:01:24 173

原创 Mybatis:基于代理Dao实现CRUD操作

基于代理Dao实现CRUD操作(1)持久层接口和持久层接口的映射配置必须在相同的包下。(2)持久层映射配置中mapper标签的namespace属性取值(1)根据ID查询在持久层接口中添加findById方法//查询方法,根据id进行查询用户信息User findById(Integer userId);在用户的映射配置文件中配置<!--查询用户--><!--这里需要一个返回值类型,因此得写上resultType--><select id="findByI

2020-09-13 23:51:50 111

原创 mybatis框架学习一(搭建Mybatis开发环境,编写入门案例,工厂对象SqlSessionFactory,关键对象SqlSession)

1.什么是框架? 它是我们软件开发中的一套解决方案,不同的框架解决的是不同的问题。 使用框架的好处: 框架封装了很多的细节,使开发者可以使用极简的方式实现功能,大大提高开发效率。2.三层架构: 表现层:是用于展示数据的 业务层:是处理业务需求的 持久层:是和数据库交互的3.持久层技术解决方案 JDBC技术: Connection PreparedStatement ResultSet Spring的JdbcTemplate: Spring中对jdbc的简

2020-09-11 11:04:40 310

CSDN博客01.md

Java语言的基础篇,一些必须记住的控制台命令,Java语言的跨平台性图解,第一个编写的Java程序,以及一些标识符和它们的命名规则

2020-03-29

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除