1.传一位参数

<!-- 传参一位数 -->
        <!--parameterType 外部传参一个整数 -->
        <!--resultType 结果的类型 -->
        <select id="findOneById" parameterType="integer" resultType="com.imooc.mybatis.entity.GoodsEntity">
            SELECT * FROM t_goods WHERE goods_id = #{value}
        </select>

public void testFindOne() throws Exception {
        SqlSession sqlSession = null;
        try {
            //获取sql对象
            sqlSession = MybatisUtils.openSession();
            //执行sql
            GoodsEntity good = sqlSession.selectOne("goods.findOneById",739);
            System.out.println(good.getTilte());
            //查看连接状态
            Connection conn = MybatisUtils.getConnection(sqlSession);

}catch (Exception e){
            throw e;
        }finally {
            MybatisUtils.release(sqlSession);
        }
    }

2.传多位参数

<!--传递多位参数 -->
        <!--parameterType 传递多位参数-->
        <select id="findMoreParam" parameterType="java.util.Map" resultType="com.imooc.mybatis.entity.GoodsEntity">
            SELECT * FROM t_goods
                WHERE current_price
                BETWEEN #{min} AND #{max}
                ORDER BY current_price DESC limit 0,#{limit}
        </select>

public void testMoreParam() throws Exception {
        SqlSession sqlSession = null;
        try {
            //获取sql对象
            sqlSession = MybatisUtils.openSession();
            //执行sql
            Map para = new HashMap();

para.put("min",100);
            para.put("max",200);
            para.put("limit",5);

List<GoodsEntity> list = sqlSession.selectList("goods.findMoreParam",para);
            for (GoodsEntity good:list
                 ) {
                System.out.println(good.getTilte()+"---"+good.getCurrentPrice());
            }
            //查看连接状态
            Connection conn = MybatisUtils.getConnection(sqlSession);

}catch (Exception e){
            throw e;
        }finally {
            MybatisUtils.release(sqlSession);
        }
    }

Mybatis中parameterType和parameterMap的区别

parameterMap和resultMap类似,parameterMap通常应用于mapper中有多个参数要传进来时,表示将查询结果集中列值的类型一一映射到java对象属性的类型上,在开发过程中不推荐这种方式。

一般使用parameterType直接将查询结果列值类型自动对应到java对象属性类型上,不再配置映射关系一一对应。

MyBatis报错笔记——Could not find parameter map java.util.List

  解决办法就是将写错的parameterMap改为parameterType就ok了

sqlsession传参相关推荐

  1. MyBatis框架 传参、事务、缓存(二级)

    传参 在mapper.xml文件中的标签中的parameterType可以可控制参数 传入参数的方法: sSession.select("虚拟包.id", 参数列表); SQL语句 ...

  2. MyBatis复习(四):#{}占位符与SQL传参

    参数类型 1. MyBatis的parameterType参数类型可以是基本数据类型.String.包装类型.java.util.Map.java.util.LinkHashMapd等 ${}和#{} ...

  3. MyBatis获取参数值的两种方式以及传参情况

    MyBatis获取参数值的两种方式 MyBatis获取参数值的两种方式:${}和#{} 传参情况 演示环境 1.单个字面量类型的参数 2.多个字面量类型的参数 3.map集合类型的参数 4.实体类类型 ...

  4. mybatis入门学习(九) -DB环境切换、使用注解、事务提交、获取自增ID、多参数传参、鉴别器、内置参数、批量写入、Oracle字段无法插入 null 值

    一.多数据库环境切换 1.config配置: <!-- default="mydemo" 指定连接的数据库 --><environments default=&q ...

  5. 在Mybatis中使用万能的Map传参,实现增删改查

    在编程中,有可能遇到我们的实体类或者数据库中表的字段或参数过多的情况,那这时候用Map传参是比较理想的选择. Map的特性是键值对应的,只要确定了一个键key,那么值value可以是任何的数据,这样就 ...

  6. Go 学习笔记(25)— 并发(04)[有缓冲/无缓冲通道、WaitGroup 协程同步、select 多路监听通道、close 关闭通道、channel 传参或作为结构体成员]

    1. 无缓冲的通道 无缓冲的通道(unbuffered channel)是指在接收前没有能力保存任何值的通道. 这种类型的通道要求发送 goroutine 和接收 goroutine 同时准备好,才能 ...

  7. MySQL 存储过程传参之in, out, inout 参数用法

    存储过程传参:存储过程的括号里,可以声明参数. 语法是 create procedure p([in/out/inout] 参数名  参数类型 ..) in :给参数传入值,定义的参数就得到了值 ou ...

  8. shell脚本的命令行传参

    在Linux环境下开发C程序,若想要可选择性的给程序传递外部参数,最后是以启动脚本的形式间接进行传递,这样对于命令行的参数解析工作将集中到shell脚本中,大大增加C代码的可移植性.       sh ...

  9. Linux C程序命令行传参

    在命令行环境下,执行已编译的程序时,将命令行参数以同一行的附加参数的形式传入到要执行的程序中.C编译器允许main()函数没有参数,或者有两个参数(也有可能更多,是对标准的扩展).一般形式为" ...

最新文章

  1. Rocksdb 的优秀代码(三)-- 工业级 线程池实现分享
  2. log4j 超完美配置文件!
  3. Winform中实现跨窗体获取ZedGraph的ZedGraphControl控件对象
  4. TensorFlow实现Unet遥感图像分割
  5. Sicily 1346. 金明的预算方案
  6. javascript 对象基础 继承机制实例【对象冒充】
  7. MySQL 性能监控 4 大指标
  8. R-CNN家族梳理:从R-CNN到Mask R-CNN
  9. 总结篇——mysql中使用sql语句操作表字段
  10. 【ENVI解决经验】一处理图像就报错
  11. redhat8.1网卡配置教程
  12. Sass 入门(基础知识点汇总)
  13. mac bootcamp 安装 win7
  14. Pixelmator for Mac(图像编辑器)
  15. ubuntu 安装视频下载器Annie
  16. java编程水仙花数_Java 编程找出所有的水仙花数(水仙花数)。
  17. Android入门教程 (一) Android简介和android studio安装
  18. ISeeYou:一款基于Bash和Javascript开发的社会工程学网络钓鱼工具
  19. 【C++项目】2048益智小游戏
  20. 华为麦芒7上的360手机助手无法卸载

热门文章

  1. 玩游戏用什么蓝牙耳机比较好?适合玩游戏的无线蓝牙耳机推荐
  2. 云计算服务的四种部署模型
  3. 设计产品主图要注意哪些细节
  4. 东北大学计算机博士申请考核,东北大学2017年博士研究生申请考核和硕博连读考核成绩公示.PDF...
  5. MySql数据库(进阶篇)
  6. 个人网站微信支付如何在线收款不需要下载监听
  7. 如何高效的学习技术?
  8. 用R studio读取excel的数据画散点图
  9. ioca0中断 pic单片机_PIC单片机学习笔记
  10. 【精】合集 zbrush 10种风格女性角色建模 新手教程,zbrush基础教程 案例讲解