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;
    }
}

 

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐