
框架
塔夫先生
知易行难,确定目标,坚定执行.
展开
-
SpringBoot配置文件详解
原创 2023-10-21 20:28:52 · 146 阅读 · 0 评论 -
Spring之注解支持
Spring的常见注解及其作用:1. @Component 创建类对象,相当于配置<bean/> Bean的ID默认为类名首字母小写,也可以指定ID,例如@Component("stu")2. @Service 与@Component功能相同. 2.1 写在ServiceImpl类上.3. @Repository 与@Component功能相同. 3.1 写在数据访问层类上.4. @Controller 与@Component功能相同. ...原创 2020-07-05 19:09:24 · 408 阅读 · 0 评论 -
Spring中属性文件的使用
Spring中也是支持属性文件的读取操作读取属性文件<context:property-placeholder location="classpath:jdbc.properties"/>Scope作用域详解1.<bean>的一个属性,控制如何实例化对象2.在Spring中每个对象默认都是单例的(有效范围:同一个<bean>标签)3.Scope属性可取值 3.1 singleton: 默认值,单例的.使用ApplicationContext..原创 2020-07-05 19:04:31 · 218 阅读 · 0 评论 -
Spring之声明式事务TX
TX:声明式事务[1]为什么使用事务? 学习Mybatis的时候,Mybatis中的事务和JDBC事务是一致的,那么Spring中式如何进行事务管理的呢?[2]事务管理的方式 编程式事务:整个事务管理都是需要程序员自己手动编写,自己提交或者回滚 声明式事务:就是整个事务的管理操作,不需要我们自己书写,现在Spring已经帮你处理好了,我们自己只要代码中声明配置即可。[3]事务使用的场景 当我们执行的是两条或者两条以上的添加、修改、删除的时候才使用事务[4]...原创 2020-07-05 18:47:09 · 339 阅读 · 0 评论 -
AOP具体实现方式
实现内容 对于当前的登陆功能增加对应的日志信息统计的操作AOP 切点:登陆方法 通知:后置通知 织入切面[注]:[1] AOP的底层默认的使用是JDK代理 我们也可以手动的开始CGLIB代理方式 <!-- cglib代理方式 --> <aop:aspectj-autoproxy proxy-target-class="true"></aop:aspectj-autoproxy>[2]Spring自动的开启...原创 2020-07-05 19:00:08 · 445 阅读 · 0 评论 -
Spring之AOP简介
[1]为什么学习SpringAop? Aop:提升代码的扩展性[2]AOP的概念 AOP:Aspect Oriented Programming 中文含义:面向切面编程 通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。 AOP的优势:利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。[3]AOP中需要知道的要素 切点:在执行的每一个方法都可以看作是一个切点...原创 2020-05-31 17:46:44 · 279 阅读 · 0 评论 -
代理模式浅谈
1.代理模式核心作用:通过代理,控制对对象的访问代理模式大致分为两类: 静态代理和动态代理[注]:动态代理又可分为4种:JDK自带的动态代理、javaassist字节码操作库实现、CGLIB和ASM(底层使用指令,可维护性差)1.1代理模式的三个要素 A、抽象的类或者接口 ---完成一件怎样的事情 B、被代理对象---事情具体操作内容 C、代理对象----帮助我们完成事情的同时可以增加其它功能类比现实生活中的例子: 我们找中介租房子 ...原创 2020-05-31 17:32:13 · 225 阅读 · 0 评论 -
Spring中IOC的使用
IOC的使用[1]责任链 使用MVC设计思想进行开发的时候,数据在各层之间进行传递,数据在业务上构成一个链条,这个链条称之为责任链。[2]基于责任链开发的缺点 基于责任链开发模式,我们发现代码层和层之间相互调用,造成了层和层的耦合性太高了。 而写代码的时候讲究的原则--低耦合、高内聚 [3] 解决的方案 Spring IOC : ...原创 2020-04-07 17:27:51 · 216 阅读 · 0 评论 -
Spring中的IOC理解
相关概念Spring 通过一个配置文件描述 Bean 及 Bean 之间的依赖关系,利用 Java 语言的反射功能实例化 Bean 并建立 Bean 之间的依赖关系。 Spring 的 IoC 容器在完成这些底层工作的基础上,还提供 了 Bean 实例缓存、生命周期管理、 Bean 实例代理、事件发布、资源装载等高级服务。IOC理解(1)IOC就是控制反转,是指创建对象...原创 2020-04-07 17:20:02 · 764 阅读 · 0 评论 -
Spring简介
[1]为什么学习Spring?答: 目前遇到的问题 A、我们现在使用的mvc模式,发现层和层之间的耦合性太高了 B、目前书写代码的后期的扩展性不高[2]解决方案 Spring技术:Spring 是解决业务层和其他各层之间的耦合问题[3]Spring 的简介 Spring :Spring Framework 创始人:Rod J...原创 2020-04-02 18:25:18 · 183 阅读 · 0 评论 -
MyBatis框架运行原理
运行原理文字描述如下:在MyBatis运行开始时需要先通过Resources加载全局配置文件.下面需要实例化SqlSessionFactoryBuilder构建器。帮助SqlSessionFactory接口实现类DefaultSqlSessionFactory。在实例化DefaultSqlSessionFactory之前需要先创建XmlConfigBuilder解析全局配置文件流,并把解析...原创 2020-03-30 18:38:49 · 471 阅读 · 0 评论 -
MyBatis注解
MyBatis注解使用示例如下: @Select("select * from student") public List<Student> selectAll(); @Select("select * from student where id =#{0}") public Student selectOne(in...原创 2020-03-30 18:06:30 · 227 阅读 · 0 评论 -
MyBatis缓存
缓存的简单理解:好处:提高查询的速度sqlsession级缓存 (一级缓存) 默认开启的 一级的缓存在myBtais中默认的开启 缺点:数据的脏读(用户读取的数据和数据库的数据不一致) 只可以实现一个用户的请求中实现缓存数据的共享[注]:使用SqlSession对象操作数据库资源时,SqlSession对象会...原创 2020-03-30 17:52:53 · 179 阅读 · 0 评论 -
MyBatis中的多表查询(3)
多表查询的SQL语句 目前使用的查询方式遇到的问题:{A、每一次书写比较的麻烦 B、执行的效率比较低} 可以使用多表查询的sql语句解决 执行的SQL语句SELECT * FROM stu s JOIN clazz c ON s.clazzzno =c.clazzzno 多表查询的SQL语句虽然可以查询出内容,但是没有一个合适的实体去接受我们查...原创 2020-03-29 20:20:28 · 171 阅读 · 0 评论 -
MyBatis中的多表查询(2)
N+1查询方式 在Mybatis中我们目前的查询是使用业务代码的方式查询,这种查询在每一次都需要写业务代码,现在Mybatis希望通过标签配置的方式来帮助我们完成这个操作操作。 使用N+1方式进行的查询 一对一 A、通过学生查询所在的班级 先查询所有的学生 在查询学生所在的班级 一对多 ...原创 2020-03-29 20:16:00 · 143 阅读 · 0 评论 -
MyBatis中的多表查询(1)
[1]为什么使用mybatis中的多表查询? 答: 目前的学习的知识都是单表的操作,但是在实际的业务情况中,我们的操作大多都是多表的操作,那么Mybatis中的多表的操作应如何进行呢?[2]解决的方案 MyBatis中的多表查询 数据库表和表之间的关系 一对一 一对多(主外键) 多对多(第三张表...原创 2020-03-29 20:11:50 · 212 阅读 · 0 评论 -
MyBatis中的自动映射
自动映射的概念引入: 如果做的是查询的操作,现在从数据库中取值的操作是MyBatis帮助我们完成的,如果想要完成赋值的整个操作,现在必须保证实体类的属性名称和数据库的字段名称需要一致,这个时候Mybatis会自动帮助我们完成映射操作,这个过程称之为自动映射。遇到的问题 如果现在数据库的字段名和实体的属性名不一致的话,就无法完成赋值的操作。解决方案 [1]可以...原创 2020-03-29 20:07:07 · 501 阅读 · 0 评论 -
SQL语句的动态拼接(2)
mapper.xml<!-- set作用: 会自动增加set关键字,并且会去除最后一个逗号 只可以使用修改 --> <update id="update"> update flower <set> <if test="name!...原创 2020-03-29 19:57:39 · 226 阅读 · 0 评论 -
SQL语句的动态拼接(1)
[1]为什么使用动态拼接? 在自我学习中只是针对数据做简单的增删改查操作,但是在实际的业务中,经常会根据不同的情况执行不同的SQL语句才可以。这个问题如何解决呢?[2]解决方案 SQL语句的动态拼接[3]动态拼接标签 常见的动态拼接标签:if where choose set trim foreach bind sql includema...原创 2020-03-29 19:49:54 · 1155 阅读 · 0 评论 -
MyBatis之多参数传递
查询花卉信息Mapper接口代码 //查询指定的花卉信息 public Flower selectOne(int id ,String name); public Flower selectOne2(@Param("a") int id , @Param("b") String name); public Flower selec...原创 2020-03-29 19:40:06 · 262 阅读 · 0 评论 -
MyBatis之增删改查
MyBatis增删改查的简单实现核心代码如下:Mapper文件<mapper namespace="com.lzj.mapper.FlowerMapper3"> <!--public int insert(Flower fl); --> <insert id="insert" > insert ...原创 2020-03-24 19:36:04 · 199 阅读 · 0 评论 -
MyBatis之三种参数传递
<!--包名+接口名--><mapper namespace="com.bjsxt.mapper.FlowerMapper2"> <!--public Flower selectOne(int id);--> <select id="selectOne" resultType="flower" parameterTy...原创 2020-03-24 19:27:04 · 355 阅读 · 0 评论 -
MyBatis之三种查询方式
<!-- public List<Flower> selectAll(); id:方法名称 resultType:返回值类型 如果返回的是一个对象书写对象的类型全路径即可 如果返回的是一个集合需要书写集合的泛型的全路径即可 parameterType:参数...原创 2020-03-24 19:20:06 · 596 阅读 · 0 评论 -
MyBatis框架使用优化
在MyBatis.xml配置文件中配置如下内容,可以优化框架的使用。[1]配置别名<typeAliases> <!--单独的给某一个文件起别名 --> <typeAlias type="com.lzj.pojo.Flower" alias="a"/> <!--给整个包下面的文件起别名,这时候别名的名称就是类的...原创 2020-03-04 13:36:49 · 812 阅读 · 0 评论 -
MyBatis框架配置文件详解
1.MyBatis.xml配置详解1.1<environments default="demo"> 1.1.1default配置当前所使用的环境.值必须是<environment>的id值 1.1.2可以有多个<environment>标签.1.2<environment> 声明可能使用的环境,会被< envir...原创 2020-03-04 13:26:35 · 483 阅读 · 0 评论 -
MyBatis框架的简介和使用
1.为什么使用MyBatis框架? A、每一个请求对应的使用Dao中的方法,每一个方法中都需要连接数据库,这样我们连接数据库的代码就需要写好多次。B、如果我们做的是查询的操作,从rs中取值是一个比较麻烦,而且影响开发效率的问题。解决方案: (1) 提取DBUtil工具类即可优点:不用在每一...原创 2020-02-27 18:16:22 · 336 阅读 · 0 评论 -
MyBatis常见问题
1、什么是Mybatis?(1)Mybatis是一个半自动的ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。程序员直接编写原生态sql,可以严格控制sql执行性能,灵活度高。(2)MyBatis 可以使用XML 或注解来配置和映射原生信息,将POJO映射成数据库中的记录,避免了...原创 2019-11-12 10:12:20 · 361 阅读 · 0 评论