在Spring Boot中實現MyBatis的動態SQL可以通過在Mapper接口中使用注解的方式來實現。下面是一個簡單的例子:
pom.xml
文件中添加MyBatis和MyBatis-Spring的依賴:<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.3</version>
</dependency>
@Mapper
public interface UserMapper {
@Select("<script>"
+ "SELECT * FROM users"
+ "<where>"
+ "<if test='username != null'> AND username = #{username}</if>"
+ "<if test='email != null'> AND email = #{email}</if>"
+ "</where>"
+ "</script>")
List<User> findUsers(@Param("username") String username, @Param("email") String email);
}
application.properties
中配置MyBatis的相關屬性:mybatis.mapper-locations=classpath*:mapper/*.xml
mybatis.type-aliases-package=com.example.models
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public List<User> findUsers(String username, String email) {
return userMapper.findUsers(username, email);
}
}
通過上述步驟,就可以在Spring Boot中實現MyBatis的動態SQL了。在Mapper接口中使用注解的方式定義動態SQL,可以根據不同的條件來動態構建SQL語句,從而實現更加靈活的查詢功能。