spring boot整合 MyBatis使用注解方式实现动态sql

spring boot整合 MyBatis使用注解方式实现动态sql
需要注意什么吗(加依赖之类的)
仅仅只需要用

直接导入starter依赖 正常使用即可

Mybatis Plus官方的案例里有,你可以看看:

在pom.xml文件中添加如下依赖:

<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.2.0</version>
</dependency>

然后,在Mapper接口中使用@SelectProvider注解来定义动态SQL语句,例如:

@SelectProvider(type = UserSqlProvider.class, method = "findUserByName")
User findUserByName(String name);

其中,UserSqlProvider是一个动态SQL语句的提供者类,findUserByName是一个动态SQL语句的生成方法。在UserSqlProvider类中,可以使用@ProviderMethod注解来定义动态SQL语句的生成逻辑,例如:

@ProviderMethod
public String findUserByName(String name) {
    return new SQL() {{
        SELECT("*");
        FROM("user");
        WHERE("name = #{name}");
    }}.toString();
}

这样就可以使用注解方式来实现动态SQL语句的生成和执行了。需要注意的是,使用注解方式需要遵循MyBatis的命名规范和语法规则,以确保SQL语句的正确性和安全性。同时,也需要注意依赖的版本和兼容性,以确保整合的稳定性和可靠性。
参考于:Cursor 应用