JDBC MyBatis 更新 v2.5.1 版本,支持官方版直接扩展动态 SQL 能力
06-27 10:01 来源:oschina 阅读(372)

简单点 开发的方法简单点 繁琐的功能请省略 你有不是个 AI

spring data jdbc 扩展 mybatis 动态 sql 能力

使用方式和官方教程一样 引入 spring-boot-starter-data-jdbc 即可 只需要配置扩展的 NamedParameterJdbcTemplate 即可

@Configuration
public class MybatisQuerySupportConfig {
    @Bean
    public NamedParameterJdbcOperations namedParameterJdbcOperations(DataSource dataSource) {
        return new MybatisJdbcTemplate(dataSource) {@Override protected Dialect dialect() {return new MySQLDialect();}};
    }
}

@Query 的 ID 是 user.md 里面 ID 为 queryByUserCode 的 mybatis sql 片段

@Query("user.queryByUserCode")
    List<UserDTO> queryByUserCode(@Param("userCode") String userCode);

具体使用参考 spring-data-jdbc-demo 模块
但是 @Query spring 6 (jdk17 以上) 以上才支持 SPEL 不支持实体参数 通过改代码可以解决 (支持 mybatis 版本的) 但有代码侵入性
无法直接 根据方法名 自动查找 sql 片段

这真是缺点?