Mybatis動態sql語句(OGNL語法)
阿新 • • 發佈:2018-07-09
type 語法 key ognl select 動態 font tab class
下面是Mybatis動態sql語句(即OGNL語法)的簡單案例
1.創建表
create table test(id int primary key auto_increment,name varchar(20),job varchar(20),dept varchar(20),sal int) charset=utf8; insert into test values (null,‘魯班‘,‘java‘,‘甲‘,1456), (null,‘後裔‘,‘java‘,‘甲‘,2440), (null,‘劉禪‘,‘c‘,‘甲‘,3540), (null,‘劉備‘,‘python‘,‘甲‘,4505), (創建 test 表null,‘關羽‘,‘python‘,‘乙‘,1470), (null,‘張飛‘,‘c‘,‘乙‘,2345), (null,‘狄仁傑‘,‘java‘,‘乙‘,3640), (null,‘蘭陵王‘,‘c‘,‘丙‘,4000), (null,‘花木蘭‘,‘c‘,‘丙‘,1000), (null,‘諸葛亮‘,‘java‘,‘丙‘,2047), (null,‘甄姬‘,‘python‘,‘丁‘,3000), (null,‘小喬‘,‘c‘,‘丁‘,4000), (null,‘女蝸‘,‘java‘,‘丁‘,1000), (null,‘妲己‘,‘java‘,‘丁‘,6705), (null,‘公孫策‘,‘java‘,‘丁‘,null), (null,‘百裏守約‘,‘c‘,‘甲‘,null), (null,‘小劉‘,‘python‘,‘丁‘,842), (null,‘蔡文姬‘,‘python‘,null,500);
2.<if> 標簽的使用
<select id="selectTest" resultType="bean.TestBean" parameterType="bean.TestBean"> select * from test where <if test="job!=null"> <!--------------------這裏的 job本質調用parameterType參數的 get()方法 --> name=#{} <!--------------------所以參數不能是基本類型(因為基本類型和包裝類沒有 get()方法) --> </if> or name=‘後裔‘ <!--------------------如果 job 等於 null(即 參數.getJob() 等於null) ,那麽語句這段sql語句變成如下所示 --> <!--------------------select * from where or name=‘後裔‘ 報錯!,這時候要用 where 標簽防止這種情況發生 --> </select>
---恢復內容結束---
Mybatis動態sql語句(OGNL語法)