码迷,mamicode.com
首页 > 数据库 > 详细

Mybatis动态sql语句(OGNL语法)

时间:2018-07-09 19:16:33      阅读:228      评论:0      收藏:0      [点我收藏+]

标签:技术分享   open   res   图片   pen   创建表   参数   val   HERE   

下面是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),
(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);
创建 test 表

 

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语法)

标签:技术分享   open   res   图片   pen   创建表   参数   val   HERE   

原文地址:https://www.cnblogs.com/Peter-Yu/p/9285088.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!