自定义Mybatis类型处理器对参数和结果集进行自定义处理
来源:互联网 发布:医院自己签字 知乎 编辑:程序博客网 时间:2024/06/04 00:23
业务需求是对字符串数据进行加密后入库,使用类型处理器会有一个短板,即此类型的所有数据都会被自定义的类型处理器进行处理,如果是只对几个特殊字段进行加密,则这种方法是行不通的,本人尝试过自定义类型,可String不能被继承,再者JavaBean要被其他项目引用,自定义类型毕竟不合适,我们这里只介绍一下类型处理器的使用
1.自定义类型处理器实现TypeHandler接口,代码如下,这里的Strings是我自定义的字符串类型,不提倡如此使用
public class StringsTypeHandler implements TypeHandler<Strings> { @Override public void setParameter(PreparedStatement ps, int i, Strings parameter, JdbcType jdbcType) throws SQLException { System.out.println(jdbcType); if (parameter != null && StringUtils.isNotEmpty(parameter.toString())) { //加密 String value = CodecUtil.encodeBASE64(parameter.toString()); ps.setString(i, value); } } @Override public Strings getResult(ResultSet rs, String columnName) throws SQLException { String value = rs.getString(columnName); if (StringUtils.isNotEmpty(value)) { //解密 value = CodecUtil.decodeBASE64(value); } return new Strings(value); } @Override public Strings getResult(ResultSet rs, int columnIndex) throws SQLException { String value = rs.getString(columnIndex); if (StringUtils.isNotEmpty(value)) { //解密 value = CodecUtil.decodeBASE64(value); } return new Strings(value); } @Override public Strings getResult(CallableStatement cs, int columnIndex) throws SQLException { String value = cs.getString(columnIndex); if (StringUtils.isNotEmpty(value)) { //解密 value = CodecUtil.decodeBASE64(value); } return new Strings(value); }}
2.在mybatis-config文件中配置
<typeHandlers><typeHandler javaType="com.jrq.core.encrypt.Strings" handler="com.jrq.core.encrypt.StringsTypeHandler"/></typeHandlers>Strings对应Java类型,StringsTypeHandler对应类型处理器
现在JavaBean里所有的Strings类型都会被StringsTypeHandler处理
阅读全文
0 0
- 自定义Mybatis类型处理器对参数和结果集进行自定义处理
- Mybatis返回自定义结果集
- 【MyBatis学习16】自定义类型处理器typeHandlers介绍
- mybatis TypeHandler处理自定义枚举类型
- mybatis 自定义类处理器typehandlers
- C++ sort 对自定义类型进行排序
- mybatis 中 查询结果进行自定义的配置
- Struts2 自定义结果类型
- SpringMVC自定义参数返回处理器
- Lucene实战(三)多Field搜索,并且对搜索结果进行过滤和[自定义]排序
- MyBatis自定义类型转换器
- mybatis自定义类型转换器
- MyBatis自定义类型转换
- mybatis自定义类型转换器
- MyBatis自定义类型转换器
- mybatis自定义类型转换器
- Mybatis自定义类型转换器
- SpringBoot Mybatis EnumTypeHandler自定义统一处理器
- ormlite的一点常用的操作
- javaweb报表和bi可以参考的
- extjs4.2 Grid隐藏某列
- 支持向量机通俗导论(理解SVM的三层境界)
- 汽车行驶姿态 -- 初识
- 自定义Mybatis类型处理器对参数和结果集进行自定义处理
- 去雾算法的代码实现(不含Soft Matting)
- Mac OS X
- vs2015开发Windows服务
- 2017年全国建设科技推广服务平台年会在青岛召开
- 基于51的串行通讯原理及协议详解
- 第一问,python2与python3的区别初探
- 礼物说,一款小程序给你生活最好的选择
- axios.js简单教程