首页 > 数据库 >007.SQL传参(动态传入参数)

007.SQL传参(动态传入参数)

时间:2022-11-24 00:00:54浏览次数:40  
标签:传参 Exception goods param session 007 SQL 参数

1.形式

 

 

 

2.  单参数传递,使用parameterType指定参数的数据类型即可,SQL中#{value}提取参数parameterType="Integer"

2.1 goods.xml

 <!-- 单参数传递,使用parameterType指定参数的数据类型即可,SQL中#{value}提取参数-->
    <select id="selectById" parameterType="Integer" resultType="com.imooc.mybatis.entity.Goods">
        select * from t_goods where  goods_id = #{value}
    </select>

2.2 测试语句

 /**
     * 传递单个SQL参数
     *
     * @throws Exception
     */
    @Test
    public void testSelectById() throws Exception
    {
        SqlSession session = null;
        try
        {
            session = MyBatisUtils.openSession();
            Goods goods = session.selectOne("goods.selectById", 1609);//1603代表传入的参数
            System.out.println(goods.getTitle());
        }
        catch (Exception e)
        {
            throw e;
        }
        finally
        {
            MyBatisUtils.closeSession(session);
        }
    }

 

3.多参数传递时,使用parameterType指定Map接口,SQL中#{key}提取参数 ,查询价格的范围parameterType="java.util.Map"

3.1 goods.xml

<!-- 多参数传递时,使用parameterType指定Map接口,SQL中#{key}提取参数 -->
    <select id="selectByPriceRange" parameterType="java.util.Map" resultType="com.imooc.mybatis.entity.Goods">
        select * from t_goods
        where
            current_price between  #{min} and #{max}
        order by current_price
        limit 0,#{limt}
    </select>

3.2 测试语句

   /**
     * 传递多个SQL参数
     *
     * @throws Exception
     */
    @Test
    public void testSelectByPriceRange() throws Exception
    {
        SqlSession session = null;
        try
        {
            session = MyBatisUtils.openSession();
            Map param = new HashMap();
            param.put("min", 100);
            param.put("max", 500);
            param.put("limt", 10);
            List<Goods> list = session.selectList("goods.selectByPriceRange", param);
            for (Goods g : list)
            {
                System.out.println(g.getTitle() + ":" + g.getCurrentPrice());

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

 

标签:传参,Exception,goods,param,session,007,SQL,参数
From: https://www.cnblogs.com/LLL0617/p/16920578.html

相关文章

  • 老杜mysql34题解答
    1取得每个部门最高薪水的人员名称mysql>selectename,sal,deptnofromemp->wheresalin->(selectmax(sal)fromempgroupbydeptno);2找出哪些人......
  • 【SQL必知必会】-12月
    了解Mysql一般叫DBMSDataBaseManagementSystem数据库管理系统表table:一个结构化的文件。来存储数据。一个数据库中表名是唯一的。列column:存储表中的某一部......
  • MySQL进阶实战2,那些年学过的事务
    @目录一、MySQL服务器逻辑架构二、并发控制1、读写锁2、锁粒度3、表锁4、行级锁三、事务1、原子性(atomicity)2、一致性(consistency)3、隔离性(isolation)4、持久性(durability)四......
  • mysql基础数据类型
    目录创建表的完整语法表字段类型之整形表字段类型之浮点型表字段类型之字符串表字段类型之时间字段类型之枚举与集合创建表的完整语法createtable表名( 字段名字段类......
  • MySQL字段基本数据类型
    昨日内容回顾数据存取的发展历程单台计算机:文本文件→软件开发目录规范→统一格式、统一操作存储位置:单机→网络→数据库集群数据库的本质本质是数据操作线程,一般......
  • 字符编码配置、MySQL字符类型和约束条件
    字符编码与配置文件数据库存储引擎创建表的完整语法MySQL字段基本数据类型MySQL字段常见约束条件字符编码与配置文件#查看MySQL相关信息 \s当......
  • Android Studio 连接 MySQL数据库
    1、下载MySQL-connector-jave.jar包地址如下:https://mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.46 2、将jar包移到如图所示的位置,然后右键addasl......
  • mysql关于优化设计模式与数据类型
    一、设计数据结构的字段数据类型基本原则是:1、更小的通常更好。就是尽量使用可以正确存储数据的最小数据类型,主要更小的数据类型可以更快,占用磁盘空间,内存和CPU缓存,处理周期......
  • 进入python的世界_day37_数据库——mysql字符编码配置、数据引擎配置、字段类型及语法
    一、字符编码与配置文件输入\s可以看到一些信息如果想要永久修改编码配置,可以在mysql的文件夹根目录下自己复制并改名一个my.ini去操作配置文件[mysqld]character-se......
  • mysql配置与mysql数据类型
    字符编码1.\s查看MySQL相关信息 当前用户、版本、编码、端口号MySQL5.6之前的版本编码需要人为统一之后版本已经全部默认统一如果想要永久修改编码配置需要操作配置......