mybatis如何使用xml中的if-else/choose
最近需要使用 xml 文件來實現(xiàn)一些增刪改查,此文對 其中的 if-else 加以說明
背景:
有一個引用類,假設叫 Student
public class Student {
private String name;
private String address;
private Integer yn;
}現(xiàn)在我們查詢條件也被封裝成一個引用類,例如:
public class StudentQueryModel {
private String name;
private String address;
private Integer pageIndex;
private Integer pageSize;
private Integer beginIndex;
}那么使用 xml 怎么來使用和接收呢?
首先肯定是在 mapper 里面有一個方法
List<Student> getStudentByCondition(@Param("s") StudentQueryModel model);然后在 xml 文件中寫這個方法的具體實現(xiàn)
<select id="getStudentByCondition"
parameterType="入?yún)㈩愋停敲次覀冞@里就應該是 com.xxx.xxx.StudentQueryModel "
resultType="返回值類型,注意,我們雖然查詢的是一些數(shù)據(jù),也就是List,但是這里不能寫 java.util.List 而是寫 com.xxx..xxx.Student ,如果只想查一條數(shù)據(jù),依舊是 com.xxx..xxx.Student ">
select * from t_student
WHERE
yn = 1
注意,這里最好不要用 <if></if> 標簽,寫不好就是坑很多,用 choose也是一樣的效果
<choose>
<when test=s.name != null and s.name != ''">
and t_student.name = #{s.name}
</when>
</choose>
<choose>
<when test="s.address != null and s.address != ''">
and t_student.address = #{s.address}
</when>
</choose>
limit #{s.beginIndex}, #{s.pageSize};//這里最好是在外面算出來,在調用該方法之前就將這兩個值算好放到 model 中 不要在這里進行加減乘除的運算,弄不好也有坑
</select>到此這篇關于mybatis如何使用xml中的if-else/choose的文章就介紹到這了,更多相關mybatis使用xml if-else/choose內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
java中創(chuàng)建寫入文件的6種方式詳解與源碼實例
這篇文章主要介紹了java中創(chuàng)建寫入文件的6種方式詳解與源碼實例,Files.newBufferedWriter(Java 8),Files.write(Java 7 推薦),PrintWriter,File.createNewFile,FileOutputStream.write(byte[] b) 管道流,需要的朋友可以參考下2022-12-12
Spring注解之@FunctionalInterface詳解(函數(shù)式接口)
@FunctionalInterface是Java8注解,標識僅含一個抽象方法的函數(shù)式接口,支持Lambda,編譯檢查確保符合定義,提升可讀性,非強制,繼承方法需注意計數(shù),Object方法不計入2025-09-09
IntelliJ IDEA創(chuàng)建普通的Java 項目及創(chuàng)建 Java 文件并運行的教程
這篇文章主要介紹了IntelliJ IDEA創(chuàng)建普通的Java 項目及創(chuàng)建 Java 文件并運行的教程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-02-02
Servlet+JavaBean+JSP打造Java Web注冊與登錄功能
比作MVC的話,控制器部分采用Servlet來實現(xiàn),模型部分采用JavaBean來實現(xiàn),而大部分的視圖采用Jsp頁面來實現(xiàn),接下來我們就來詳細看看如何用Servlet+JavaBean+JSP打造Java Web注冊與登錄功能2016-05-05

