mybatis中写sql的三种方式
1. 在mapper文件中配置SQL<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace...
·
1. 在mapper文件中配置SQL
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.test.cis.dao.accounts.FinanceRefundApplyDao">
<select id="queryById" resultType="FinanceRefundApplyModel" parameterType="String">
select * from FINANCE_REFUND_APPLY where ID = #{id}
</select>
</mapper>
2. 注解式的SQL定义
public interface UserMapper {
@Select("select * from user ")
List<User> AnnotationGetUserList();
}
如果想要的是动态SQL,那么就加上<script>:
public interface UserMapper {
@Select("select * from user ")
List<User> AnnotationGetUserList();
@Select("<script>"
+ "select * from user "
+ "<if test='id!=null'>"
+ "where id=#{id}"
+ "</if>"
+ "</script>")
List<User> AnnotationGetUserById(@Param("id")String id);
}
3.通过@SelectProvider来声明sql提供类
public interface UserMapper {
@SelectProvider(type=SqlProvider.class,method="getUserById")
List<User> AnnotationProviderGetUserById(String id);
}
public class SqlProvider {
public String getUserById(String id) {
String sql = "select * from user ";
if (id!=null) {
sql += " where id="+id;
}
return sql;
}
}
更多推荐


所有评论(0)