首页 > 数据库 >019.动态SQL

019.动态SQL

时间:2022-11-10 23:24:12浏览次数:37  
标签:Exception param currentPrice session SQL 019 动态

1.什么是动态SQL

 

 2.在pom.xml中添加

    <select id="dynamicSQL" parameterType="java.util.Map" resultType="com.imooc.mybatis.entity.Goods">
        select * from t_goods
        <where>
          <if test="categoryId != null">
              and category_id = #{categoryId}
          </if>
          <if test="currentPrice != null">
              and current_price &lt; #{currentPrice}
          </if>
        </where>
    </select>

3.测试类MybatisTest.java

/**
     * 动态SQL语句
     * @throws Exception
     */
    @Test
    public void testDynamicSQL() throws Exception {
        SqlSession session = null;
        try{
            session = MyBatisUtils.openSession();
            Map param = new HashMap();
            param.put("categoryId", 44);
            param.put("currentPrice", 500);
            //查询条件
            List<Goods> list = session.selectList("goods.dynamicSQL", param);
            for(Goods g:list){
                System.out.println(g.getTitle() + ":" +
                        g.getCategoryId()  + ":" + g.getCurrentPrice());

            }
        }catch (Exception e){
            throw e;
        }finally {
            MyBatisUtils.closeSession(session);
        }
    }

 

标签:Exception,param,currentPrice,session,SQL,019,动态
From: https://www.cnblogs.com/LLL0617/p/16879191.html

相关文章

  • mysql 时间字段默认设置为当前时间
    1、直接在创建表时添加该列并声明默认值,如下:CREATETABLE`table1`(`id`int(11)NOTNULL,`createtime`timestampNULLdefaultCURRENT_TIMESTAMP,`updatetime`timest......
  • 30分钟上手 Koa2 + MySQL 开发
    30分钟上手Koa2+MySQL开发 转载https://blog.51cto.com/u_15478221/4925103趣谈前端2022-01-1410:00:53文章标签中间件数据库javapython编程语言文章分类其它......
  • 玩转微信小程序 之 初步了解微信小程序(2019/04/05)
    LZ-Says:现在能做的,就是踏踏实实,走好每一步~不去想未来会如何,安心做好自己应该做的事儿即可。前言前几日,集团官网开发暂时告一段落,回顾这段经历,感觉自己各方面还是有很多不足......
  • 玩转微信小程序 之 获取用户信息以及玩转基本列表渲染(2019/04/14)
    LZ-Says:总是要各种颠沛流离,才能换得片刻安宁。努力让自己变得更好,加油~前言前几天,完成了微信小程序的首章,学习起来,还是多多少少有点坑,不舒服。今天我们继续开启微信小程序......
  • Excel2016、2019移动单元格卡顿的解决方法
    选择excel导航栏的文件,选择选项。选择选项里面的高级,在显示下面找到禁用硬件图像加速,......
  • MySql - 基础学习 - 索引
    CREATETABLE`app_user`(`id`BIGINT(20)UNSIGNEDNOTNULLAUTO_INCREMENT,`name`VARCHAR(50)DEFAULT''COMMENT'用户昵称',`email`VARCHAR(50)NOTNULLCOMME......
  • 新大陆 之 MySQLWorkbench 8.0 生成 SQL 语句
    LZ-Says:说不清,道不明,终将SaysGoodBye。前言仿若是昨天,由于原有数据库表中字段无法满足现有需求,让LZ整个“脚本”,实现。脚本?懵逼,什么鬼?哎,一通问,一通鄙视后,明远老哥指......
  • 静态库与动态库制作与使用
    静态库1.gcc获得.o文件gcc-cxx.cxx.c 2.将.o文件打包,使用ar工具(archive)arrcslibxxx.axxx.oxxx.or-将文件插入备存文件中c-建立备存文件......
  • Pentaho连接mysql
    Pentaho下载好后,初次连接mysqlDB提示driver错误,具体如下:Driverclass'org.gjt.mm.mysql.Driver'couldnotbefound,makesurethe'MySQL'driver(jarfile)isinsta......
  • ansible角色部署mysql主从复制
    ansible角色部署mysql主从复制[root@ansibleansible]#vimhosts[mysql]node1node4[mysql_master]node1[mysql_slave]node4[root@ansibleansible]#cdrole......