当前使用版本(必填,否则不予处理)

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.3.1</version>
        </dependency>

该问题是如何引起的?(确定最新版也有问题再提!!!)

mybatis-mate收费,本人穷,是否可以将加解密功能纳入到mybatis-plus? Demo见:《基于Mybatis-Plus拦截器实现MySQL数据加解密》 另外,本Demo中,不确定拦截器是否可以拦截全部场景下的DML,麻烦官方同学确认一下,以及有没有更优的拦截方案~

重现步骤(如果有就写完整)

Demo示例代码:《mybatis-plus-demo

报错信息

无。

Comment From: qmdx

加密这个涉及到的算法比较多(暂时还有开源加密组件的计划),如正文提交到的拦截方式也是可行方案,

这里推荐使用 typeHandler 方式去处理(更易操作),具体加密算法根据你们的实际情况自行实现。

// 自定义加密处理器
public class EncryptHandler extends BaseTypeHandler<String> {
     。。。
}

// 实体注解处理
@TableField(typeHandler = EncryptHandler.class)
private String name;

// wrapper 查询在 `3.5.3.1` 后版本支持
Wrappers.<H2User>lambdaQuery()
            .apply("name={0,typeHandler=" + H2userNameJsonTypeHandler.class.getCanonicalName() + "}",
                "{\"id\":101,\"name\":\"Tomcat\"}")

Comment From: qunqunzq

加密这个涉及到的算法比较多(暂时还有开源加密组件的计划),如正文提交到的拦截方式也是可行方案,

这里推荐使用 typeHandler 方式去处理(更易操作),具体加密算法根据你们的实际情况自行实现。

``` // 自定义加密处理器 public class EncryptHandler extends BaseTypeHandler { 。。。 }

// 实体注解处理 @TableField(typeHandler = EncryptHandler.class) private String name;

// wrapper 查询在 3.5.3.1 后版本支持 Wrappers.lambdaQuery() .apply("name={0,typeHandler=" + H2userNameJsonTypeHandler.class.getCanonicalName() + "}", "{\"id\":101,\"name\":\"Tomcat\"}") ```

我有个问题,我在继承了EncryptHandler extends BaseTypeHandler后,表里所有的string字段都走了这个加密方法。 当我在EncryptHandler上加了@MappedJdbcTypes(JdbcType.VARCHAR) @MappedTypes(value = String.class) 这两个注解后,就走typeHandler指定的字段了。有点不太敢用,问一下这样对吗? com.baomidou mybatis-plus-boot-starter 3.5.2