- 博客(13)
- 收藏
- 关注
原创 AOP整合
当你需要一次执行多条SQL语句时,可以使用事务。通俗一点说,如果这几条SQL语句全部执行成功,则才对数据库进行一次更新,如果有一条SQL语句执行失败,则这几条SQL语句全部不进行执行,这个时候需要用到事务。走不到终点,回到原点!
2024-08-13 20:55:00
644
原创 AOP技术
AOP(Aspect Oriented Programming)面向切面:把程序中重复的代码抽取出来,使用动态代理的技术去执行,从而实现不修改源代码对方法进行增强。
2024-08-12 20:35:48
1286
原创 Spring.1
spring是轻量级的JAVAEE应用开源框架其特点包括模块化、灵活性、高度可测试性和一组丰富的API,适用于多种Java应用场景,包括后端服务、微服务、大数据处理等。OK,了解了IoC如何进行控制反转后,我们来试着自定义工厂IoC来解决程序耦合:-----------BeanFactory:①反射创建对象 ②把对象放map-----------①把service和dao配置到bean.properties②读取bean.properties③通过反射创建对象,并装到IOC容器中。
2024-08-06 19:16:38
1450
原创 Mybatis的缓存
当执行数据库操作时,MyBatis会首先检查一级缓存中是否存在所需的数据,如果存在,则直接从缓存中获取,避免了不必要的数据库访问。一级缓存默认是开启的,并且是透明的,开发者不需要进行额外配置即可使用。二级缓存是MyBatis中跨SqlSession的缓存机制,它在应用级别共享,能复用不同SqlSession间相同查询的结果,以减少数据库访问,提升性能。MyBatis的缓存机制是指在数据库操作中,为了提高效率和性能,MyBatis能够在内存中临时存储数据副本的技术。走缓存:同一个sqlSession。
2024-08-05 20:50:54
313
1
原创 Mybatis的延迟加载与动态SQL
开启延迟加载后,在真正使用数据的时候才发起级联查询,不用的时候不查询。打个比方,你观看这篇文章,此时你只需要学习延迟加载的知识,所以你就会把延迟加载的内容看完,然后去解决问题;关于动态SQL的内容,当你需要时,你会再返回来看动态SQL的内容。在软件开发中,延迟加载是一种性能优化技巧,它确保只有在实际需要数据时才去查询数据库或加载资源,从而提高应用程序的响应速度和效率。那么,我们该怎么去使用延迟加载呢?
2024-08-02 20:56:19
345
原创 Mybatis的关联查询
OneToOne:一对一关系OneToMany:一对多关系ManyToMany:多对多关系那么,什么是关联查询?当访问关系的一方时,如果需要查看与之关联的另一方数据,则必须使用表链接查询,将查询到的另一方数据,保存在本方的属性中。指定“一方”关系时(对象),使用指定“多方”关系时(集合),使用一对一一对一关联查询是指在数据库中,两个表之间存在一对一的关系,其中一个表的记录直接对应另一个表的单一记录。在现实中,一对一的例子比比皆是,如:一个公民只能有一个身份证号、一个学生只能有一个固定的学籍信息等。
2024-08-01 16:28:20
471
原创 Mybatis主键回填、映射与类别名
查看mybatis源码可以看到 Mybatis 默认支持的别名四类八种写基本类型 String小写 集合统统写接口自定义别名:--批量定义别名-->使用别名。
2024-08-01 12:11:50
815
原创 Mybatis原理及Mybatis的参数传递
会话工厂创建的SqlSession对象,封装了执行SQL的所有方法,既能执行SQL返回结果,也能获取mapper接口。MyBatis的Executor接口操作数据库,动态生成SQL,负责查询缓存维护,由SqlSession传递参数。这里要注意,方法findUser1中的注解Param中的字符,必须与后续Sql语句中#{}的名字对应。输出结果支持Map、List等集合,基本数据类型及POJO,映射过程类似JDBC解析结果集。加载配置文件,有一种是使用类加载进行加载,我们通过这个类的类加载器进行资源的加载。
2024-07-30 19:03:56
820
原创 Maven.拆分与聚合
我们之前把web层、service、dao层整合在一个工程中,那在下次如果有项目用到相同的代码时,我们又得重新复制粘贴出来,这样即浪费内存又降低了开发的效率。但maven工具已经给我们提供了一个解决方案。就是将每个层分开做成模块,然后再将每个层打包放到私服上,这也就是所说的拆分。我们做项目时候再引用这些包的过程就叫聚合。而拆分的好处是分工明确,方便维护,提高效率,降低内存空间。
2024-07-26 19:39:15
1931
原创 Maven.2
那么在主带码,测试代码,打包中,主带码基本是静态的,而test测试代码则是经常运行进行测试,测试运行完,便是打包,将jar包存放至本地仓库。很好理解,当spring-core依赖出现冲突时,在不影响项目运行的情况下,可以将该冲突排除掉,即避让冲突。可以在main包下的java运行生效,也可以在test包下的测试java中生效,也不影响打包中的jar。依赖冲突是指项目依赖的某一个jar包,有多个不同的版本,因而造成类包版本冲突。:被依赖的资源,如果还依赖其他资源,那么当前项目间接依赖其他资源。
2024-07-25 20:14:43
460
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅