spring boot整合 MyBatis使用注解方式实现动态sql
需要注意什么吗(加依赖之类的)
仅仅只需要用
直接导入starter依赖 正常使用即可
在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 应用