mybatis-cipher
Java
Java
共29个文件
java: 17
xml: 4
gitignore: 3
md: 2
LICENSE: 1
yml: 1
sql_bak: 1
基于mybatis 来实现对敏感数据在进出DB时候进行脱敏处理, 让各位码友们无需自己各种手动实现
mybatis-cipher
项目介绍
基于mybatis 来实现对敏感数据在进出DB时候进行脱敏处理,
让各位码友们无需自己各种手动实现
安装教程
下载最新的jar包 mybatis-cipher-plus
使用说明
配置初始化
spring boot 模式 零配置模式
配置加解密拦截器
/**
* MybatisPlusConfig
* @author Jerry.hu
* @summary MybatisPlusConfig
* @Copyright (c) 2018, xiaoweige Group All Rights Reserved.
* @Description MybatisPlusConfig
* @since 2018-09-29 16:46
*/
@EnableTransactionManagement
@Configuration
public class MybatisPlusConfig {
@Bean
public FieldEncryptInterceptor paginationInterceptor() {
return new FieldEncryptInterceptor();
}
}
yml配置
mybatis:
type-aliases-package: org.xiaoweige.mybatis.cipher.example.model.po
mapper-locations:
- classpath:mybatis/mappers/*.xml
- classpath:mybatis/mappers/*/*.xml
configuration-properties:
cacheEnabled : false
####<!-- 查询时,关闭关联对象即时加载以提高性能 -->
lazyLoadingEnabled : true
####<!-- 设置关联对象加载的形态,此处为按需加载字段(加载字段由SQL指定),不会加载关联表的所有字段,以提高性能 -->
aggressiveLazyLoading : false
####<!-- 对于未知的SQL查询,允许返回不同的结果集以达到通用的效果 -->
multipleResultSetsEnabled : true
####<!-- 允许使用列标签代替列名 -->
useColumnLabel : true
####<!-- 允许使用自定义的主键值(比如由程序生成的UUID 32位编码作为键值),数据表的PK生成策略将被覆盖 -->
useGeneratedKeys : true
####<!-- 给予被嵌套的resultMap以字段-属性的映射支持 -->
autoMappingBehavior : FULL
####<!-- 对于批量更新操作缓存SQL以提高性能 -->
defaultExecutorType : SIMPLE
####<!-- 数据库超过15秒仍未响应则超时,部分语句可单独指定超时时间 -->
defaultStatementTimeout : 15
jdbcTypeForNull : NULL
####<!-- 当参数为NULL且字段列可为空的Double等类型时可直接当NULL插入 -->
callSettersOnNulls : true
####打印sql语句###
logPrefix : "dao."
xml 配置方式
<settings>
<!-- 全局映射器启用缓存 -->
<setting name="cacheEnabled" value="false" />
<!-- 查询时,关闭关联对象即时加载以提高性能 -->
<setting name="lazyLoadingEnabled" value="true" />
<!-- 设置关联对象加载的形态,此处为按需加载字段(加载字段由SQL指定),不会加载关联表的所有字段,以提高性能 -->
<setting name="aggressiveLazyLoading" value="false" />
<!-- 对于未知的SQL查询,允许返回不同的结果集以达到通用的效果 -->
<setting name="multipleResultSetsEnabled" value="true" />
<!-- 允许使用列标签代替列名 -->
<setting name="useColumnLabel" value="true" />
<!-- 允许使用自定义的主键值(比如由程序生成的UUID 32位编码作为键值),数据表的PK生成策略将被覆盖 -->
<setting name="useGeneratedKeys" value="true" />
<!-- 给予被嵌套的resultMap以字段-属性的映射支持 -->
<setting name="autoMappingBehavior" value="FULL" />
<!-- 对于批量更新操作缓存SQL以提高性能 -->
<setting name="defaultExecutorType" value="SIMPLE" />
<!-- 数据库超过15秒仍未响应则超时,部分语句可单独指定超时时间 -->
<setting name="defaultStatementTimeout" value="15" />
<setting name="jdbcTypeForNull" value="NULL" />
<!-- 当参数为NULL且字段列可为空的Double等类型时可直接当NULL插入 -->
<setting name="callSettersOnNulls" value="true" />
<!--<!– 打印sql语句 –>-->
<setting name="logPrefix" value="dao." />
</settings>
<plugins>
<plugin interceptor="org.xiaoweige.mybatis.interceptor.FieldEncryptInterceptor">
</plugin>
</plugins>
实现加解密接口 CryptService
/**
* 加解密服务接口
* @author Jerry.hu
* @summary 加解密服务接口
* @Copyright (c) 2018, xiaoweige Group All Rights Reserved.
* @Description 加解密服务接口
* @since 2018-09-29 10:58:18
*/
public interface CryptService {
/**
* 单条加密
* @author Jerry.hu
* @modifier Jerry.hu
* @since 2018-09-29 10:58:18
* @param value 待加密字段
* @return 加密后的字符串
*/
String encrypt(String value);
/**
* 单条解密
* @author Jerry.hu
* @modifier Jerry.hu
* @since 2018-09-29 10:58:18
* @param value 待解密字段
* @return 解密后的字符串
*/
String decrypt(String value);
/**
* 批量解密
* @author Jerry.hu
* @modifier Jerry.hu
* @since 2018-09-29 10:58:18
* @param ori 待解密密文集合
* @return map key 密文 value 明文
*/
Map<String,String> batchDecrypt(List<String> ori);
/**
* 批量加密
* @author Jerry.hu
* @modifier Jerry.hu
* @since 2018-09-29 10:59:36
* @param ori 待解密密文集合
* @return map key 明文 value 原密
*/
Map<String,String> batchEncrypt(List<String> ori);
}
建议将接口中的四个接口全部实现
https://gitee.com/Jerry.hu/mybatis-cipher

沐知全栈开发
- 粉丝: 6645
最新资源
- 农村电子商务直播方案(1).docx
- 大数据误伤文案(1).docx
- 2023年软考系统集成项目管理工程师考试上午试题及答案.doc
- ch4网络层与路由技术.pptx
- 长春市政府网站评估研究报告.ppt
- 2023年面向对象程序设计课程实习任务书.doc
- 2023年电大业余专科计算机各章作业复习资料.doc
- 1-程序设计语言概述教学幻灯片.pptx
- 中职计算机程序设计课堂教学方法分析和应用.docx
- 产教融合背景下人工智能技术服务专业课程体系构建.docx
- API数据接口合作协议.doc
- Excel使用技巧大全ppt课件.ppt
- GB T236872009信息通信技术和消费电子产品的环境意识设计导则.pdf
- GIS在农业保险的运用及作用.doc
- 企业信息化网络中存在的安全隐患及防治对策.docx
- 基于JSP的基金管理系统的研究与设计含源文件(1).doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈


