自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 使用拦截器和自定义id生成工具,完成insert语句id的自生成和赋值操作

业务场景在微服务系统中,考虑到业务表的字段id要拼接本服务名称,就不能使用mysql自带的id生成规则,现使用自己封装的id生成规则和拦截器,在mybatis执行insert语句时自动赋值我们规则生成的id。工具类详解1. IDGenUtil业务流水号生成工具类使用UUID的哈希码来作为后十位随机数,再拼接年月日时分秒和毫秒的时间戳,最后在首位继续拼接传来的业务名称前缀。import java.text.SimpleDateFormat;import java.util.*;/** *

2021-09-15 16:30:10 818

原创 将mybatis打印的sql语句输出到自己的日志文件中

业务场景因为代码发布后,我们不能直观的查看控制台打印的sql语句。所以我们需要将所以sql语句导出到日志文件中。mybatis的日志配置处理mybatis提供了两种sql打印处理方式一种是单纯的打印在控制台,不算日志log-impl: org.apache.ibatis.logging.stdout.StdOutImpl这一种是将sql语句作为日志打印,并支持输出到日志文件log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl那我们肯定采取第

2021-09-08 16:22:04 3681 2

原创 使用logback对系统产生的日志文件进行脱敏处理

业务场景开发中,对于打印出来的日志文件,涉及到敏感信息,类似银行卡,姓名,身份证等等,通常会根据需求进行关键词的隐藏,比如姓名:万旭会处理后在日志中显示:姓名:万*。这样的过程叫做日志关键词脱敏。如下使用logback进行脱敏操作和配置。配置枚举类用来管理需要脱敏的关键词public enum KeywordTypeEnum { /** * 真实姓名 */ TRUE_NAME("trueName","真实姓名"), /** * 身份证号码

2021-09-08 16:09:49 4130 1

原创 使用velocity完成模板引擎配置和读取并实现后端代码自动生成

项目中对于基础的crud代码实现和实体类等通用文件的构建,我们除了可以使用mabtis逆向工程,也可以使用模板引擎去完成。根据实体类中的属性我们可以个性化配置自己的代码生成文件格式在postman中(后续会追加网页端代码生成)根据自己的需求填写配置信息,一般必填的如下,分别有dsName:数据库名称,tableName:表名称,moduleName:模块名称,以及projectPath:代码生成的路径。可以根据需求追加实体类中的属性作为请求参数当提示代码生成结束后则可以找到对应路径下,

2021-08-27 15:34:06 2158 6

原创 spring boot2.0以上版本自定义注解完成maybatis动态数据源配置

转载:https://www.cnblogs.com/caichaoqi/p/9216865.html

2021-08-27 10:16:46 178

原创 JavaWeb篇之四-----编写连接池工具类

注意因为本人使用的是maven管理jar包依赖,所以就不演示添加jar包的环节,大家可以自行百度一下所需jar包,至于maven管理依赖我会在以后写一篇详解的。引言在之前的例子中我们不难看出如果在执行一条sql语句时需要不断重复预编译对象,执行语句,释放资源等操作,这时候我们需要把多余的操作抽取出来作为一个工具类单独存放在一个包里面,包名通常使用utils。这里以C3P0作为例子创建工具类...

2019-10-26 11:23:18 254

原创 JavaWeb篇之三--------使用JDBC连接池

注意因为本人使用的是maven管理jar包依赖,所以就不演示添加jar包的环节,大家可以自行百度一下所需jar包,至于maven管理依赖我会在以后写一篇详解的。引言之前JDBC访问数据库的步骤:创建数据库连接 →运行SQL语句→关闭连接每次数据库访问执行这样重复的动作。每次创建数据库连接的问题:1.获取数据库连接需要消耗比较多的资源每次操作都要重新获取新的连接对象,执行一次操作就...

2019-10-20 10:30:41 209

原创 JavaWeb篇之二------sql注入的原理和解决方法(预编译)

引言在上一篇最末,我展示了sql注入现象,接下来我们来探究sql注入的本质原理Sql注入及解决方法我们打个断点,debug调试一下(不清楚代码的可以看上一篇)我们可以看到“泊进之介”和“or ‘1’=‘1’”被拼接在一起作为s2对象而最后的sql查询语句就变成了 “select * from KamenRider where ridername=‘Driver’ and use...

2019-10-17 10:44:14 503

原创 JavaWeb篇之一——使用原生JDBC对数据库进行操作

引言在接触JDBC之前,我们的数据都是自己做得,也叫假数据,而实际开发过程中需要我们去操作的数据一般都存放在数据库中,今天我先以mysql作为例子为大家演示一下原生JDBC的操作流程。JDBC什么是JDBC:Java Data Base Connectivity:(Java数据库连接) JDBC是Java访问数据库的标准规范。JDBC的好处我们只需要会调用JDBC接口中的方法即可,使用...

2019-10-16 11:42:10 422

原创 Javase篇之六-----自定义注解

引言我们通常会在重写的代码上加上@Override来注明这是重写的方法,类似的还有@Test表示该方法是测试方法,这一种编写方式叫做注解,有的注解只起到注释的作用,可以省略,但有的则不行。注解的定义注解(Annotation)相当于一种标记,在程序中加入注解就等于为程序打上某种标记,以后,javac编译器、开发工具和其他程序可以通过反射来了解你的类及各种元素上有无标记,看你的程序有什么标记,...

2019-10-09 13:31:59 156

原创 Javase篇之五---使用反射机制完成动态代理

引言设想一种生活场景,在上学的时候,班主任拥有收发作业的权利,可是他不能件件事情都亲力亲为,否则会忙不过来,这时候他会指定课代表替他收发作业,这一种思想在开发设计里面叫做代理思想。代理的定义和分类定义:对其他对象提供一种代理以控制对这个对象的访问。特征:代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等按照代理的创建时期,代理类...

2019-10-06 13:45:47 161

原创 Javase篇之四----使用反射技术将泛型为Integer的ArrayList中存放一个String类型的对象

引言在之前的文章中我已经详细叙述了泛型的使用方法和限制条件,我们可能会遇到要在同一集合中存放不同类型的数据,这时候大家第一时间应该想到的是利用object祖宗类的特性去存储,那么如果是需要在已经规定好存储数据类型的集合中再存储另一类型的数据呢?这时候就需要用到反射技术。反射的定义将java代码的各个组成部分封装为其他对象,可以在程序运行过程中操作这些对象,这就是java的反射机制。通俗一点来...

2019-10-05 13:53:21 1465

原创 javase篇之三——泛型

为什么要用泛型?编程中我们会遇到因为参数类型不同而导致我们多次对一个方法进行重载,然而有时候并不涉及参数个数之类的重载,此时会不会有更方便的方法呢?在介绍泛型之前我们需要了解一个知识点,在java.lang(就是平时默认使用的包,不需要导包)下,有一个根类我们称之为祖宗类——object,关于此类详情可见api文档,我们需要了解的是所有属于lang包下的类都继承了该类。那么我们就可以根据这一点...

2019-08-29 14:26:18 116

原创 javase篇之二.浅度解析Hello world代码

**相信大家不论学习哪种语言第一次接触的程序肯定是Hello world,但是在最开始的时候不一定理解每一段代码的意思,老师肯定会告诉你不要钻牛角尖,之后会了解到。。。不过对某些强迫症的来说肯定是如鲠在喉,所以今天我就来浅度解析一下Hello world代码,当然了,过于复杂的知识点会在以后深度解析Hello world时分析。**废话不多说了,上代码。今天就不用idea 咱们直接记事本写。...

2019-08-26 18:46:08 229 2

原创 javase篇一之静态修饰符static

javase篇一之静态修饰符staticstatic修饰符可以用来修饰成员方法和成员变量,接下来我会分别阐述着两个个应用场景下static关键字的作用static用于修饰成员方法当我们使用static来修饰类中方法时,此方法也称为类方法或静态方法。一般调用静态方法我们可以直接使用类名加“.”,进行调用,常见的静态方法有main方法及下图所示等,详情可见api文档!!!要注意的是,可以使用...

2019-08-22 14:39:44 201

空空如也

空空如也

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

TA关注的人

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