没啥技术含量,烂笔头记下来备查!
数据库

    /*** NamedParameterJdbcTemplate* * @see [类、类#方法、类#成员]*/@Testpublic void testNamedTemplate(){String sql;List<Map<String, Object>> list;// 单条件sql = "select id, name from student where id<>:id";list = namedJdbcTemplate.queryForList(sql, Collections.singletonMap("id", 5));logger.info("★★★★ execute: {} ==> {}", sql, list);// Map传多条件-写法1sql = "insert into student(id, name) values(:id, :name)";Map<String, Object> params = new HashMap<>();params.put("id", 4);params.put("name", RandomStringUtils.randomAlphabetic(5));int count = namedJdbcTemplate.update(sql, params);System.out.println(count);// SqlParameterSource传多条件-写法2sql = "insert into student(id, name) values(:id, :name)";SqlParameterSource parameterSource = new MapSqlParameterSource("id", 20).addValue("name", RandomStringUtils.randomAlphabetic(5));count = namedJdbcTemplate.update(sql, parameterSource);System.out.println(count);// Java Bean传条件-写法3StudentVO vo = new StudentVO();vo.setId(5);vo.setName(RandomStringUtils.randomAlphabetic(5));SqlParameterSource source = new BeanPropertySqlParameterSource(vo);count = namedJdbcTemplate.update(sql, source);System.out.println(count);// 查询主键vo.setId(6);KeyHolder keyHolder = new GeneratedKeyHolder();namedJdbcTemplate.update(sql, source, keyHolder);String pk = String.valueOf(keyHolder.getKey());logger.info("★★★★ pk ==> {}", pk);// 返回单个对象sql = "select id, name from student where id=:id";vo = new StudentVO();vo.setId(4);source = new BeanPropertySqlParameterSource(vo);rowMapper = new BeanPropertyRowMapper<>(StudentVO.class);StudentVO studentVO = namedJdbcTemplate.queryForObject(sql, source, rowMapper);System.out.println(studentVO);// IN条件sql = "select id, name from student where id in (:ids)";list = namedJdbcTemplate.queryForList(sql, Collections.singletonMap("ids", Arrays.asList(1, 2, 3, 4, 5)));System.out.println(list);}

完整项目代码参考: https://gitee.com/00fly/java-code-frame/tree/master/springmvc-jpa-query

NamedParameterJdbcTemplate传参的n种写法相关推荐

  1. 【Vue】路由Router传参的两种方式(详解)

    本文我们来介绍一下Vue中的 路由传参 问题,首先我们来准备一个基本路由的页面,如下: <!DOCTYPE html> <html lang="en"> & ...

  2. Silve37.Silverlight和ASP.NET相互传参的两种常用方式(QueryString,Cookie)

    在本节中将讲述Silverlight和ASP.NET页面的相互传参的两种常用方式:Cookie和QueryString.首先我们新建一个名 为SLConnectASP.NET的Silverlight应 ...

  3. Python基础day05【函数(函数传参的两种形式、函数形参)、拆包、引用、可变与不可变类型、引用做函数参数注意点】

    视频.源码.课件.软件.笔记:超全面Python基础入门教程[十天课程]博客笔记汇总表[黑马程序员]    目录 0.复习 1.函数传参的两种形式[掌握] 2.函数形参 2.1.缺省参数(默认参数) ...

  4. ajax的data传参的两种方式

    ajax的data传参的两种方式 本文为转载. 1.[javascript] view plaincopy   /** * 订单取消 * @return {Boolean} 处理是否成功 */ fun ...

  5. react 子传参父_react子父传参有几种方法?

    react子父传参有几种方法?下面本篇文章给大家介绍一下react父子组件传参(值)的方法.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. react父子组件传参(值)的几种方法 一 ...

  6. vue路由传参的三种方式/含页面刷新参数丢失解决方案(详细)

    vue路由传参的三种方式以及页面刷新参数丢失问题 一.路由传参的三种方式 1.传参方式一:params传参 2.传参方式二:路由属性配置传参 3.传参方式三:query传参 二.三种传递方式的区别 一 ...

  7. 子组件向父组件传参的几种方法

    子组件向父组件传参的几种方法 在用vue框架写项目的时候,多多少少会遇到子组件向父组件传参的方法.作为一个新手,确实让人头疼,于是便有了这篇小白写的总结,话不多说,开始! 以下方法全部基于这两个父子组 ...

  8. asp.net html silverlight 传参数,Silverlight和ASP.NET相互传参的两种常用方式(QueryString,Cookie)...

    Silverlight实用窍门系列:37  程兴亮,网名煦风满裳 在本节中将讲述Silverlight和ASP.NET页面的相互传参的两种常用方式:Cookie和QueryString.首先我们新建一 ...

  9. Vue:路由传参的三种方式

    文章目录 前言 方式一:params 传参(显示参数) 1.声明式 router-link 2.编程式 this.$router.push 方式二:params 传参(不显示参数) 1.声明式 rou ...

  10. 详解vue路由传参的三种方式

    在我们开发vue项目的时候,路由传参几乎是我们必须要用到的,一般出现场景是,当我们点击某个组件的某个按钮时跳转到另一个组件中,并携带参数,便于第二个组件获取数据.下面我就来说说vue路由传参的三种方式 ...

最新文章

  1. MySQL 优化实战记录
  2. 压缩备份日志 java_自动压缩备份日志文件到指定备份目录脚本
  3. vue路由权限(结合服务端koa2)
  4. 一文彻底搞懂字符串、字符串常量池原理
  5. python 虚线_Python 包安装和管理工具 pip 19.2 发布
  6. 如何将MyEclipse开发的项目导入到Eclipse中运行
  7. 向日葵远程控制软件——使用方法(含MacOS)
  8. 多媒体计算机辅助英语教学,多媒体计算机辅助英语教学初探
  9. JS中用execCommand(“SaveAs“)保存页面兼容性问题解决方案
  10. namecheap域名设置Cloudflare为第三方DNS
  11. 数学建模(NO.7相关系数—假设检验)
  12. 3.0_Linux如何连接网络
  13. centos8搭建ftp虚拟用户登录
  14. css 网页自适应 @media screen详解
  15. C语言坐标旋转,c语言矩阵的顺、逆时针旋转
  16. Unity小游戏(二)——贪吃蛇
  17. APK的反编译工具,Apktool,Dex2jar,JD-GUI等
  18. C++ 解决string转为char*中文乱码问题
  19. docker 镜像(images)
  20. 要用什么软件才可以打开cdr格式文件

热门文章

  1. Python 列表内【自定义排序】
  2. 越狱相关三:OpenSSH
  3. 海康威视算法实习面试——我的第一次面试经历
  4. 云计算零基础(八) 破解密码
  5. k2450 linux 显卡驱动,Debian系统安装NVIDIA驱动支持双显卡切换
  6. xss之CSP bypass
  7. 设计院的故事--转自ABBS(自动铅笔)
  8. 应用实例 | 手把手教你用OpenCV实现餐盘水果识别计价程序(附代码)
  9. Win7开机加速全攻略一:序章和开机原理
  10. POI2000 病毒