04 2021 档案
使用反射来修改注解的属性值----给Excel表添加或删除字段
摘要:使用反射来给Excel表添加字段 1、实体类中字段如下: @Data@Table(name = "T_ZD") public class Site { /** * 主键 */ @Id @KeySql(sql = "select T_ZD_SEQ.nextval from dual", order = 阅读全文
posted @ 2021-04-27 12:06 周文豪 阅读(1881) 评论(0) 推荐(0) 编辑
使用输出流时的注意事项
摘要:1、在请求时指定响应类型 //导出excel exportExcel(data) { return request({ url: '/api/route/export', method: 'post', data, responseType: 'arraybuffer', }) }, 2、将数据写入 阅读全文
posted @ 2021-04-27 11:35 周文豪 阅读(104) 评论(0) 推荐(0) 编辑
人写的SQL的顺序和解析器解析的顺序是不一样的
摘要:人写的SQL: 机读的顺序:解析器 即先读from,select从第一位变成第7位。 注意:所有条件(where或having后面的条件)都不能使用别名来判断,因为查询的时候是分先后顺序的,因为where和having条件在select之前执行。 不能写成下面这样的 where是过滤分组前的数据,h 阅读全文
posted @ 2021-04-25 16:12 周文豪 阅读(50) 评论(0) 推荐(0) 编辑
远程连接安装有Oracle数据库的虚拟机
摘要:1、网络适配器选择NAT模式 xp_oracle右键→网络适配器→设置→选择NAT模式→确定 2、windows虚拟机中本地连接自动获取IP地址 网络连接→本地连接→属性→Internet协议→勾选“自动获得IP地址”和“自动获得DNS服务器地址” 注意:windows虚拟机中的的IP的网段不需要和 阅读全文
posted @ 2021-04-24 10:24 周文豪 阅读(293) 评论(0) 推荐(0) 编辑
给数据库的表造数据
摘要:1、Excel分列的用法: 选择数据→数据→分列→分割符号→下一步 分割符号选逗号→下一步 点击目标区域输入框右侧的按钮,选择分开后所在的列 在Excel中连接两个单元格的函数concat,每一部分用逗号分割 2、写测试类往数据库表中插入数据 @SpringBootTest @RunWith(Spr 阅读全文
posted @ 2021-04-20 19:16 周文豪 阅读(656) 评论(0) 推荐(0) 编辑
SQL注入:Statement与PrepareStatement的区别,#{}和${}的区别
摘要:Statement:使用字符串拼接的方式 案例:用户登陆 需求: 1)、有一张用户表 2)、添加几条用户记录 id int primary key auto_increment, name varchar(20), password varchar(20) ) insert into user va 阅读全文
posted @ 2021-04-20 11:06 周文豪 阅读(356) 评论(0) 推荐(0) 编辑
解决Excel导入时整数数字变成小数(double类型)的问题
摘要:方法: private String numberFormat(Cell cell){ NumberFormat numberFormat = NumberFormat.getInstance(); // 不显示千位分割符,否则显示结果会变成类似1,234,567,890 numberFormat. 阅读全文
posted @ 2021-04-17 21:34 周文豪 阅读(2437) 评论(0) 推荐(0) 编辑
Oracle数据库表使用SQL语句将数据库表的类型与长度通过括号拼接起来
摘要:1、在Oracle中,可使用视图USER_TABLES查看当前用户有哪些表即表相关的信息 select * from user_tables; 结果: 其中TABLE_NAME表示表名,NUM_ROWS表示表中数据行数 2、查询当前用户所有表的表名(TABLE_NAME)、列名(COLUMN_NAM 阅读全文
posted @ 2021-04-12 17:37 周文豪 阅读(294) 评论(0) 推荐(0) 编辑
多线程、JUC线程池、spring中通过@EnableAsync和@Async实现多线程
摘要:一个采用了多线程技术的应用程序可以更好地利用系统资源。其主要优势在于充分利用了CPU的空闲时间片,可以用尽可能少的时间来对用户的要求做出响应,使得进程的整体运行效率得到较大提高,同时增强了应用程序的灵活性。 一、多线程 1、多线程的创建 创建线程方式一:继承Thread类 public class 阅读全文
posted @ 2021-04-11 15:51 周文豪 阅读(467) 评论(0) 推荐(0) 编辑
springboot项目进行事务控制之转账案例
摘要:1、引入依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 阅读全文
posted @ 2021-04-11 14:45 周文豪 阅读(939) 评论(0) 推荐(0) 编辑
springboot项目进行事务控制
摘要:一、声明式事务 1、引入spring-tx依赖 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.2.0</v 阅读全文
posted @ 2021-04-11 12:10 周文豪 阅读(1794) 评论(0) 推荐(0) 编辑
多步操作借助关系型数据库进行本地事务管理:并发时情况下,事务引发的问题演示
摘要:事务:一个包含多个步骤的业务操作。如果这个包含多个步骤的业务操作被事务管理,则这多个步骤要么同时成功(commit),要么同时失败(rollback)。 什么是本地事务? 本地事务就是用关系数据库来控制事务,关系数据库通常都具有ACID特性,传统的单体应用通常会将数据全部存储在一个数据库中,会借助关 阅读全文
posted @ 2021-04-10 16:55 周文豪 阅读(394) 评论(0) 推荐(0) 编辑
基于注解的声明式事务控制
摘要:将基于XML的声明式事务控制改造成基于注解的声明式事务控制。 1、 创建maven的jar工程,导入依赖。 <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</a 阅读全文
posted @ 2021-04-10 16:54 周文豪 阅读(100) 评论(0) 推荐(0) 编辑
基于XML的声明式事务控制
摘要:事务控制的实现方式演变:动态代理→AOP→Spring的事务控制 Spring的事务控制都是基于AOP的,AOP基于动态代理, spring的事务控制既可以使用编程的方式实现,也可以使用配置的方式实现,我们学习的重点是使用配置的方式实现。 1、 创建maven的jar工程,导入依赖。 <depend 阅读全文
posted @ 2021-04-10 16:52 周文豪 阅读(87) 评论(0) 推荐(0) 编辑
基于注解的AOP之环绕通知日志记录案例
摘要:1、 创建maven的jar工程,导入依赖 <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.0.2.RELEAS 阅读全文
posted @ 2021-04-10 16:11 周文豪 阅读(336) 评论(0) 推荐(0) 编辑
基于注解的AOP实现事务控制
摘要:必须使用环绕通知,不能用四种通知 如果使用四种通知,则会报异常 执行顺序是有问题的:前置通知已经执行完了,然后它会先调用最终通知,然后调用后置通知,由于调用最终通知时connection已经还回连接池了,并且线程与连接已经解绑,然后调用后置通知的时候当然无法提交了,然后要先调用getThreadCo 阅读全文
posted @ 2021-04-07 19:14 周文豪 阅读(236) 评论(0) 推荐(0) 编辑
基于XML的AOP实现事务控制
摘要:前面讲过使用动态代理来实现事务控制,现在使用AOP实现事务控制 Spring的AOP就是通过配置的方式实现动态代理从而创建代理对象,而不是用动态代理去编码的方式,以下将用动态代理去编码的方式修改为配置的方式来实现事务控制。 1、 创建maven的jar工程,添加依赖jar包 <dependencie 阅读全文
posted @ 2021-04-07 18:49 周文豪 阅读(116) 评论(0) 推荐(0) 编辑
基于注解的AOP配置之四种通知日志记录案例(不建议)
摘要:1、 创建maven的jar工程,导入依赖 <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.0.2.RELEAS 阅读全文
posted @ 2021-04-07 17:54 周文豪 阅读(150) 评论(0) 推荐(0) 编辑
基于XML的AOP之四种通知日志记录案例
摘要:案例如下: 1、 创建maven的jar工程,导入依赖坐标,spring的任何部分的运行都需要IOC的支持,故要导入spring-context依赖,spring-context中含有spring-aop。Aspectjweaver是用来解析切入点表达式的。 <dependencies> <depe 阅读全文
posted @ 2021-04-07 17:30 周文豪 阅读(128) 评论(0) 推荐(0) 编辑
基于XML的AOP之环绕通知日志记录案例
摘要:spring中的环绕通知:它是spring框架为我们提供的一种可以在代码中手动控制增强方法何时执行的方式。 1、 创建maven的jar工程,导入依赖坐标 <dependencies> <dependency> <groupId>org.springframework</groupId> <arti 阅读全文
posted @ 2021-04-07 17:29 周文豪 阅读(105) 评论(0) 推荐(0) 编辑
AOP:Aspect oriented programming面向切面编程(避免横切逻辑代码重复)@PointCut
摘要:AOP:Aspect oriented programming 面向切面编程,AOP 是 OOP(面向对象编程)的一种延续。 下面我们先看一个 OOP 的例子。 例如:现有三个类,Horse、Pig、Dog,这三个类中都有 eat 和 run 两个方法。 通过 OOP 思想中的继承,我们可以提取出一 阅读全文
posted @ 2021-04-07 16:39 周文豪 阅读(300) 评论(0) 推荐(0) 编辑
使用动态代理实现事务控制的案例
摘要:本案例为基于接口的动态代理: 被代理类为AccountServiceImpl,被代理对象为容器中id为accountService的Bean对象,代理对象为容器中id为ProxyAccountService的Bean对象。 1、 创建maven的jar工程,添加依赖jar包 <dependencie 阅读全文
posted @ 2021-04-07 15:44 周文豪 阅读(400) 评论(0) 推荐(0) 编辑
动态代理
摘要:动态代理: * 特点:(代理对象的)字节码随用随创建,随用随加载, 它与装饰者模式的区别就是:装饰者模式是必须写好一个类,而动态代理是字节码随着用来创建和加载的。 * 作用:不修改源码的基础上对方法增强 * 分类: * 基于接口的动态代理 * 基于子类的动态代理 基于接口的动态代理: 涉及的类:Pr 阅读全文
posted @ 2021-04-07 14:41 周文豪 阅读(252) 评论(0) 推荐(1) 编辑
分析转账案例中的问题
摘要:1、 创建maven的jar工程,添加依赖jar包 <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.0.2.RE 阅读全文
posted @ 2021-04-07 11:48 周文豪 阅读(160) 评论(0) 推荐(0) 编辑
基于注解的IOC案例
摘要:注解配置和XML配置要实现的功能都是一样的,都是要降低程序间的耦合,只是配置的形式不一样。XML是独立的写成一个配置文件,而注解的配置采用的是在类中添加一些注解来实现功能。 自己写的类如何使用注解: 一、 用于创建对象的注解:@Component、@Controller、@Service、@Repo 阅读全文
posted @ 2021-04-06 17:50 周文豪 阅读(133) 评论(0) 推荐(0) 编辑
基于XML的IOC案例
摘要:1、创建maven的jar工程,导入依赖: <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.0.5.RELEAS 阅读全文
posted @ 2021-04-06 10:58 周文豪 阅读(60) 评论(0) 推荐(0) 编辑
Spring中Bean的生命周期
摘要:单例对象的生命周期和多例对象的生命周期不一样。 单例对象: 单例对象:单例对象的生命周期与容器的生命周期相同。 出生:读取完配置文件,即创建容器,只要容器一创建,就马上创建对象。 活着:只要容器还在,对象一直活着 死亡:容器销毁,则对象消亡 现在来测试一下,在类中添加两个方法: 注意:此时是单例对象 阅读全文
posted @ 2021-04-05 12:14 周文豪 阅读(270) 评论(0) 推荐(0) 编辑
Spring中Bean的作用范围调整
摘要:在用工厂模式解耦时,我们知道我们的Bean是一个单例的bean,如何调整呢?用Bean标签的scope属性,该属性的作用是用于指定bean的作用范围。 Scope属性的取值有5个:常用的取值为singleton和prototype。 1、Singleton:单例的,是默认值 2、Prototype: 阅读全文
posted @ 2021-04-05 11:31 周文豪 阅读(118) 评论(0) 推荐(0) 编辑
Spring中三种创建Bean对象的方式
摘要:创建Bean的三种方式: 1、 使用类中的默认构造函数创建对象 在spring的配置文件中使用Bean标签,配以id和class属性之后,且没有其他属性和标签时,采用的就是默认构造函数创建Bean对象。故类中要提供默认构造函数。 如果没有编写任何构造方法,那么编译器会默认赠送一个构造方法,没有参数, 阅读全文
posted @ 2021-04-05 11:08 周文豪 阅读(793) 评论(0) 推荐(0) 编辑
spring取代BeanFactory来读取配置文件,反射创建对象并存入map
摘要:降低程序间的依赖关系,如果我们自己写代码,降低的方式是用工厂模式来实现,BeanFactory类这段代码并没有难度,如果在实际开发中我们自己来写的话,肯定会消耗更多的精力,所以我们把这一段内容完全交给了spring,使用spring中的IOC降低程序间的依赖关系,即解耦。 控制反转IOC:把创建对象 阅读全文
posted @ 2021-04-05 10:15 周文豪 阅读(361) 评论(0) 推荐(0) 编辑
IOC=工厂模式+反射机制+单例对象
摘要:IOC其实就是工厂模式+Java的反射机制 反射机制 我们可能之前就有见过反射机制的出现,就是在JDBC中加载数据库驱动时的。Class.forName(“com.mysql.jdbc.Driver”) JDBC中加载数据库驱动 编写jdbc的工程代码用于分析程序的耦合: 程序的编译和运行需要com 阅读全文
posted @ 2021-04-04 21:00 周文豪 阅读(563) 评论(0) 推荐(1) 编辑
为什么要用IOC:inversion of controll反转控制(把创建对象的权利交给框架)
摘要:作为一名 Java 开发,对 Spring 框架是再熟悉不过的了。Spring 支持的控制反转(Inversion of Control,缩写为IoC)早已成为我们的开发习惯,仿佛 Java 开发天生就该如此。人总是会忽略习以为常的事物,所有人都熟练使用 IoC ,却鲜有人说得清楚到底为什么要用 I 阅读全文
posted @ 2021-04-04 20:58 周文豪 阅读(1209) 评论(1) 推荐(0) 编辑
vue:样式绑定
摘要:处理样式的两种方式:一种是通过类名class来影响标签的样式,另一种是操作标签的style属性来定义标签的内部样式。 第一种方式:通过类名class 对于第一种对象语法: 如果想要动态的控制样式,通过v-bind来绑定class属性,即v-bind:class,而它的值通过对象的方式控制类名是否显示 阅读全文
posted @ 2021-04-01 10:10 周文豪 阅读(112) 评论(0) 推荐(0) 编辑