07 2021 档案

摘要:spring的事务处理回答问题1.什么是事务 讲mysql的时候,提出了事务。 事务是指一组sql语句的集合, 集合中有多条sql语句 可能是insert , update ,select ,delete, 我们希望这些多个sql语句都能成功, 或者都失败, 这些sql语句的执行是一致的,作为一个整 阅读全文
posted @ 2021-07-31 10:48 Brack_Pearl 阅读(70) 评论(0) 推荐(0)
摘要:1.在resources目录中新建一个jdbc.properties属性配置文件,文件内容如下: 2.在spring配置文件中使用新建的属性配置文件信息 阅读全文
posted @ 2021-07-30 11:14 Brack_Pearl 阅读(41) 评论(0) 推荐(0)
摘要:把mybatis框架和spring集成在一起,像一个框架一样使用。 用的技术是:ioc 。为什么ioc:能把mybatis和spring集成在一起,像一个框架, 是因为ioc能创建对象。 可以把mybatis框架中的对象交给spring统一创建, 开发人员从spring中获取对象。 开发人员就不用同 阅读全文
posted @ 2021-07-29 12:19 Brack_Pearl 阅读(65) 评论(0) 推荐(0)
摘要:1.前面的例子中,都有使用到接口,说明是JDK动态代理 2.若目标类没有接口,使用的是cglib动态代理 3.有接口也可以使用cglib动态代理 <aop:aspectj-autoproxy proxy-target-class="true" /> 阅读全文
posted @ 2021-07-28 19:02 Brack_Pearl 阅读(69) 评论(0) 推荐(0)
摘要:当较多的通知增强方法使用相同的 execution 切入点表达式时,编写、维护均较为麻烦。 AspectJ 提供了@Pointcut 注解,用于定义 execution 切入点表达式。 其用法是,将@Pointcut 注解在一个方法之上,以后所有的 execution 的 value 属性值均 可使 阅读全文
posted @ 2021-07-28 18:06 Brack_Pearl 阅读(240) 评论(0) 推荐(0)
摘要:在目标方法执行之前之后执行。被注解为环绕增强的方法要有返回值,Object 类型。 并且方法可以包含一个 ProceedingJoinPoint 类型的参数。 接口 ProceedingJoinPoint 其有一个proceed()方法,用于执行目标方法。 若目标方法有返回值,则该方法的返回值就是目 阅读全文
posted @ 2021-07-28 11:35 Brack_Pearl 阅读(1129) 评论(0) 推荐(0)
摘要:在目标方法执行之后执行。 由于是目标方法之后执行,所以可以获取到目标方法的返回值。 该注解的 returning 属性就是用于指定接收方法返回值的变量名的。 所以,被注解为后置通知的方法,除了可以包含 JoinPoint 参数外,还可以包含用于接收返回值的变量。 该变量最好为 Object 类型,因 阅读全文
posted @ 2021-07-28 00:45 Brack_Pearl 阅读(1314) 评论(0) 推荐(0)
摘要:在目标方法执行之前执行。被注解为前置通知的方法,可以包含一个 JoinPoint 类型参数。该类型的对象本身就是切入点表达式。通过该参数,可获取切入点表达式、方法签名、目标对象等。 不光前置通知的方法,可以包含一个 JoinPoint 类型参数,所有的通知方法均可包含该参数 /** * 指定通知方法 阅读全文
posted @ 2021-07-27 23:52 Brack_Pearl 阅读(1742) 评论(0) 推荐(0)
摘要:AspectJ的切入点表达式 AspectJ定义了专门的表达式用于指定切入点。表达式原型是: execution(modifiers-pattern? ret-type-pattern declaring-type-pattern?name-pattern(param-pattern) throws 阅读全文
posted @ 2021-07-27 21:58 Brack_Pearl 阅读(246) 评论(0) 推荐(0)
摘要:本模块是使用aspectJ框架实现aop 使用aop:目的是给已经存在的一些类和方法,增加额外的功能。前提是不改变原来的类的代码。 使用aspectJ实现aop的基本步骤: 1.新建maven 2.加入依赖 1)spring依赖 2)aspectJ依赖 3)junit单元测试 <?xml versi 阅读全文
posted @ 2021-07-27 13:09 Brack_Pearl 阅读(76) 评论(0) 推荐(0)
摘要:一、AOP(Aspect Orient Programming)面向切面编程 Aspect: 切面,给你的目标类增加的功能,就是切面。 像上面用的日志,事务都是切面。 切面的特点: 一般都是非业务方法,独立使用的。 Orient:面向, 对着。 Programming:编程 oop: 面向对象编程 阅读全文
posted @ 2021-07-27 00:19 Brack_Pearl 阅读(64) 评论(0) 推荐(0)
摘要:动态代理 动态代理是指,程序在整个运行构成中根本就不存在目标类的代理类,目标对象的代理对象只是由代理生成工具(不是真实定义的类)在程序运行时由JVM根据反射等机制动态生成的。代理对象与目标对象的代理关系在程序运行时才确立。 一、JDK动态代理 动态代理的实现方式常用的有两种:使用JDK的Proxy, 阅读全文
posted @ 2021-07-26 00:30 Brack_Pearl 阅读(487) 评论(0) 推荐(0)
摘要:一、多配置文件的优势 1.每个文件的大小比一个文件要小很多,效率高 2.避免多人竞争带来的冲突 二、多文件的分配方式 1.按功能模块,一个模块一个配置文件 2.按类的功能,数据库相关的配置一个配置文件,做事务的功能一个配置文件,做service功能的一个配置文件等 阅读全文
posted @ 2021-07-24 23:41 Brack_Pearl 阅读(92) 评论(0) 推荐(0)
摘要:六、基本数据维护功能之--图书管理 图书管理也有两个功能,一是图书添加,二是图书维护 1.图书添加 1)点击图书添加,进入功能界面 2)当未填入任何数据,点击添加,会弹出“图书名称不能为空” 3)当未输入“图书价格”或者“图书作者”时都会有不能为空的信息提示 4)信息都填写后(图书描述可以为空),点 阅读全文
posted @ 2021-07-20 23:50 Brack_Pearl 阅读(170) 评论(0) 推荐(0)
摘要:五、基本数据维护功能之--图书类别管理 图书类别管理有两个功能,一是图书类别添加,二是图书类别维护 1.图书类别添加 1)点击图书类别添加,进入功能界面 2)若没有输入图书类别名称就点击添加会弹出“图书类别不能为空”的提示 3)添加成功后会有信息提示 4)点击重置会清空文本框内容 2.图书类别维护 阅读全文
posted @ 2021-07-20 22:01 Brack_Pearl 阅读(272) 评论(0) 推荐(0)
摘要:图书管理系统使用的技术有swing、mysql和jdbc,通过开发工具eclipse和windowbuilder插件来实现;图书管理系统的功能有信息登录、图书类别管理(图书类别添加和图书类别维护)、图书管理(图书添加和图书管理)、安全退出系统以及关于我们这些功能,下面直接演示图书管理系统的功能演示 阅读全文
posted @ 2021-07-20 20:27 Brack_Pearl 阅读(1178) 评论(0) 推荐(0)
摘要:1.在resources目录下创建一个test.properties文件 2.在xml映射文件中获取test.properties文件的信息 <!--加载属性配置文件--> <context:property-placeholder location="classpath:test.properti 阅读全文
posted @ 2021-07-16 01:35 Brack_Pearl 阅读(99) 评论(0) 推荐(0)
摘要:引用类型@Resource@Resource 来自JDK中的注解,spring框架提供了对这个注解的功能支持,可以使用它给引用类型赋值 使用的也是自动注入原理,支持byName,byType,默认是byName位置:1.在属性定义的上面,无需set方法,推荐使用。 2.在set方法的上面 packa 阅读全文
posted @ 2021-07-15 12:52 Brack_Pearl 阅读(795) 评论(0) 推荐(0)
摘要:引用类型的注入可以使用@Autowired@Autowired:spring框架提供的注解,实现引用类型的赋值。spring中通过注解给引用类型赋值,使用的是自动注入原理,支持byName,byType@Autowired:默认使用的是byType自动注入位置:1)在属性定义的上面,无需set方法, 阅读全文
posted @ 2021-07-15 00:27 Brack_Pearl 阅读(2002) 评论(0) 推荐(0)
摘要:代码演示: @Value:简单类型的属性赋值 属性:value是string类型的,表示简单类型的属性值 位置:1.在属性定义的上面,无需set方法,推荐使用 2.在set方法的上面 package com.example.ba02; import org.springframework.beans 阅读全文
posted @ 2021-07-14 21:39 Brack_Pearl 阅读(64) 评论(0) 推荐(0)
摘要:spring中和@Component功能一致,创建对象的注解还有: 1.@Repository(用在持久层类的上面):放在dao的实现类上面,表示创建dao对象,dao对象是能访问数据库的。 2.@Service(用在业务层类的上面):放在service的实现类上面,创建service对象,serv 阅读全文
posted @ 2021-07-14 13:54 Brack_Pearl 阅读(47) 评论(0) 推荐(0)
摘要:通过spring的注解完成java对象的创建,属性。代替xml文件 实现步骤: 1.加入依赖 2.创建类,在类中加入注解 package com.example.ba01; import org.springframework.stereotype.Component; /*@Component:创 阅读全文
posted @ 2021-07-14 00:40 Brack_Pearl 阅读(2447) 评论(0) 推荐(1)
摘要:前面的笔记都是讲到基于XML配置文件的di,在实际开发中大部分是使用基于注解的di 1.基于注解的di:通过注解完成java对象创建,属性赋值 2.使用注解的步骤: 1)加入maven依赖 spring-context,在你加入spring-context的同时,间接加入spring-aop的依赖。 阅读全文
posted @ 2021-07-13 23:35 Brack_Pearl 阅读(73) 评论(0) 推荐(0)
摘要:引用类型的自动注入:spring框架根据某些规则可以给引用类型赋值,不用在给引用类型赋值使用规则常用的是byName,byType1.byName(按名称注入):java类中引用类型的属性名和spring容器中(配置文件)<bean>的id名称一样, 且数据类型是一致的,这样的容器中的bean,sp 阅读全文
posted @ 2021-07-12 15:55 Brack_Pearl 阅读(335) 评论(0) 推荐(0)
摘要:一、在Student类中定义有参构造方法 package com.example.ba03; public class Student { private String name; private int age; //声明一个引用类型 private School school; public v 阅读全文
posted @ 2021-07-12 00:50 Brack_Pearl 阅读(100) 评论(0) 推荐(0)
摘要:一、创建引用类School package com.example.ba02; public class School { private String name; private String address; public void setName(String name) { this.nam 阅读全文
posted @ 2021-07-11 23:57 Brack_Pearl 阅读(67) 评论(0) 推荐(0)
摘要:一、di:依赖注入,表示创建对象,给属性赋值。 二、di的实现有两种: 1.在spring的配置文件中,使用标签和属性完成,叫做基于XML的di实现 2.使用spring中的注解,完成属性赋值,叫做基于注解的di实现 三、di语法分类: 1.set注入(设置注入):spring调用类的set方法,在 阅读全文
posted @ 2021-07-11 17:29 Brack_Pearl 阅读(118) 评论(0) 推荐(0)
摘要:一个bean标签对应一个对象,bean标签中的id值要唯一 <bean id="someService" class="com.example.service.impl.SomeServiceImpl"/> <bean id="someService01" class="com.example.se 阅读全文
posted @ 2021-07-11 14:44 Brack_Pearl 阅读(290) 评论(0) 推荐(0)
摘要:实现步骤: 1.创建maven项目 2.加入maven的依赖 spring的依赖,版本5.2.5 junit依赖 <dependencies> <!--单元测试的依赖--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifa 阅读全文
posted @ 2021-07-09 17:54 Brack_Pearl 阅读(71) 评论(0) 推荐(0)
摘要:IoC (Inversion of Control) : 控制反转, 是一个理论,概念,思想。 描述的:把对象的创建,赋值,管理工作都交给代码之外的容器实现, 也就是对象的创建是有其它外部资源完成。 控制: 创建对象,对象的属性赋值,对象之间的关系管理。反转: 把原来的开发人员管理,创建对象的权限转 阅读全文
posted @ 2021-07-09 11:18 Brack_Pearl 阅读(65) 评论(0) 推荐(0)
摘要:一、Spring是一个开放源代码的设计层面框架,他解决的时业务逻辑层和其他层的松耦合问题,因此他将面向接口编程的思想贯穿整个系统应用。 二、在企业开发中,解决企业开发的难度,减轻队项目模块之间的管理、类和类之间的管理,帮助开发人员创建对象,管理对象之间的关系。 三、spring核心技术 ioc , 阅读全文
posted @ 2021-07-07 22:15 Brack_Pearl 阅读(78) 评论(0) 推荐(0)
摘要:一、PageHelper的功能 实现多种数据库的分页,mysql就是代替limit语句的 二、使用步骤 1.在pom.xml加入maven依赖 <!--PageHelper依赖--> <dependency> <groupId>com.github.pagehelper</groupId> <art 阅读全文
posted @ 2021-07-06 22:11 Brack_Pearl 阅读(61) 评论(0) 推荐(0)
摘要:在主配置文件中,mappers标签是用来映射dao包中的sql语句,可以指定多个sql映射文件 有两种方式来实现: 方式一:使用mapper标签,resource来映射,注意是输入全限定名称 方式二:使用包名package标签,name:xml文件(mapper文件)所在的包名,这个包中的所有xml 阅读全文
posted @ 2021-07-06 21:35 Brack_Pearl 阅读(425) 评论(0) 推荐(0)
摘要:一、什么是动态SQL 动态SQL,通过MyBatis提供的各种标签队条件作出判断以实现动态拼接SQL语句。这里的条件判断使用的表达式为OGNL表达式。常用的动态SQL标签有<if>、<where>、<choose/>、<foreach>等。 二、动态SQL的好处 动态 SQL,主要用于解决查询条件不 阅读全文
posted @ 2021-07-06 13:16 Brack_Pearl 阅读(94) 评论(0) 推荐(0)
摘要:在mybatis中模糊查询的实现有两种方式,一是Java代码中给查询数据加上“%” ; 二是在mapper文件sql语句的位置加上“%” 1.在接口中定义两个方法 /*第一种模糊查询*/ List<Student> selectLikeOne(String name); /*第二种模糊查询 * na 阅读全文
posted @ 2021-07-06 11:24 Brack_Pearl 阅读(470) 评论(0) 推荐(0)
摘要:一、Map sql查询结果作为Map的key和value,推荐使用Map<Object,Object> 注意:Map作为接口返回值,sql语句的查询结果最多只能有一条记录大于一条记录是错误的。 在dao接口中定义下面这个方法 Map<Object,Object> selectMapById(Inte 阅读全文
posted @ 2021-07-06 00:19 Brack_Pearl 阅读(136) 评论(0) 推荐(0)
摘要:在mapper映射文件中,标签中的resultType一般取全限定名称,而且推荐使用全限定名称的写法 这里介绍自定义别名的方式: 在主配置文件mybatis.xml文件中添加 <!--定义别名--> <typeAliases> <!--第一种方式: 可以指定一个类型一个自定义别名 type:自定义类 阅读全文
posted @ 2021-07-05 23:27 Brack_Pearl 阅读(67) 评论(0) 推荐(0)
摘要:#:占位符,告诉 mybatis 使用实际的参数值代替。并使用 PrepareStatement 对象执行 sql 语句, #{…}代替 sql 语句的“?”。这样做更安全,更迅速,通常也是首选做法, mapper 文件 <select id="selectById" resultType="com 阅读全文
posted @ 2021-07-05 18:00 Brack_Pearl 阅读(135) 评论(0) 推荐(0)
摘要:1.在dao包下创建StudentDao接口,接口里面的方法 public interface StudentDao { /*方式一: * 一个简单类型的参数 * 简单类型:mybatis把java的基本数据类型和String都叫简单数据类型 * 在mapper文件获取简单数据类型的一个参数的值,使 阅读全文
posted @ 2021-07-05 16:15 Brack_Pearl 阅读(87) 评论(0) 推荐(0)
摘要:mybatis实现插入语句 package org.example; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.sessio 阅读全文
posted @ 2021-07-05 01:28 Brack_Pearl 阅读(112) 评论(0) 推荐(0)
摘要:1.在resource路径下新建mybatis.xml文件,文件内容可以在mybatis中文参考文档获取,这里主要解释各个部分的详细信息 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybati 阅读全文
posted @ 2021-07-04 13:24 Brack_Pearl 阅读(270) 评论(0) 推荐(0)
摘要:mybatis的使用步骤: 1.新建student表(使用MySQL创建) 2.加入maven的mybatis坐标,MySQL驱动的坐标(pom.xml中加入依赖) 3.创建实体类(domain),Student --保存表中的一行数据 4.创建持久层的dao接口,定义操作数据库的方法 5.创建一个 阅读全文
posted @ 2021-07-03 01:57 Brack_Pearl 阅读(237) 评论(0) 推荐(0)