NamedParameterJdbcTemplate

原创 2017年01月03日 16:49:26

NamedParameterJdbcTemplate和JdbcTemplate功能基本差不多。使用方法也类型。下面具体看下代码。

 

db.properties

1 jdbc.user=root
2 jdbc.password=123456
3 jdbc.driverClass=com.mysql.jdbc.Driver
4 jdbc.jdbcUrl=jdbc\:mysql\:///test

 

applicationContext.xml

复制代码
 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4     xmlns:aop="http://www.springframework.org/schema/aop"
 5     xmlns:context="http://www.springframework.org/schema/context"
 6     xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
 7         http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
 8         http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd">
 9 
10     <context:property-placeholder location="classpath:db.properties"/>
11     <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
12         <property name="user" value="${jdbc.user}"></property>
13         <property name="password" value="${jdbc.password}"></property>
14         <property name="driverClass" value="${jdbc.driverClass}"></property>
15         <property name="jdbcUrl" value="${jdbc.jdbcUrl}"></property>
16     </bean>
17     
18     <!-- NamedParameterJdbcTemplate有一个带有DataSource的构造器 -->
19     <bean id="namedParameterJdbcTemplate" class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate">
20         <constructor-arg ref="dataSource"></constructor-arg>
21     </bean>
22 </beans>
复制代码

 

Java代码

复制代码
 1 //启动IoC容器
 2 ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml");
 3 
 4 NamedParameterJdbcTemplate namedParameterJdbcTemplate=ctx.getBean(NamedParameterJdbcTemplate.class);
 5 //为变量名称前面加上冒号
 6 String sql="insert into user (name,deptid) values (:name,:deptid)";
 7 //定义map集合,其参数名称为sql语句中变量的名称
 8 Map<String,Object> paramMap=new HashMap<String,Object>();
 9 paramMap.put("name", "caoyc");
10 paramMap.put("deptid", 2);
11 namedParameterJdbcTemplate.update(sql, paramMap);
复制代码

 

 

方式二:

复制代码
 1 //启动IoC容器
 2 ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml");
 3 
 4 NamedParameterJdbcTemplate namedParameterJdbcTemplate=ctx.getBean(NamedParameterJdbcTemplate.class);
 5 //为变量名称前面加上冒号
 6 String sql="insert into user (name,deptid) values (:name,:deptid)";
 7 //定义个实体类
 8 User user=new User();
 9 user.setName("zhh");
10 user.setDeptid(3);
11 
12 SqlParameterSource paramSource=new BeanPropertySqlParameterSource(user);
13 namedParameterJdbcTemplate.update(sql, paramSource);
版权声明:本文为博主原创文章,未经博主允许不得转载。

Spring NamedParameterjdbc详解和如何获得主键自增值

NamedParameterJdbcTemplate类是基于JdbcTemplate类,并对它进行了封装从而支持命名参数特性。 NamedParameterJdbcTemplate主要提供以下三类方...
  • cwzhsi
  • cwzhsi
  • 2014年11月29日 20:18
  • 1286

由SpringJdbc引发的一点思考

本来项目中使用的是Hibernate,后来换Mybatis,但由于项目中很多sql语句是动态的,无实体,参数不固定,列也不固定,Mybatis显得太重量了,所以我又选择用spring jdbc这种更轻...
  • shan9liang
  • shan9liang
  • 2014年11月24日 21:56
  • 8500

spring拾遗(二)——NamedJdbcTemplate使用归纳

有的时候用NamedJdbcTemplate会忽然想不起来用什么样的方法和参数,抽出点时间,写着玩玩,应该能应付绝大多数场景了 其中包含了返回对象或基本类型,批量修改的两种方法(建议第二种,但是Nam...
  • qq_28885149
  • qq_28885149
  • 2016年11月15日 16:43
  • 1537

使用NamedParameterJdbcTemplate 进行操作(添加部分列,不影响原有的逻辑)

1.service层定义逻辑(不展示sql) List> batchValues = new ArrayList();               for (Param p : params){  ...
  • qq_32506087
  • qq_32506087
  • 2018年01月10日 15:38
  • 23

NamedParameterJdbcTemplate 的用法

  • 2014年03月03日 15:35
  • 44KB
  • 下载

Spring JdbcTemplate使用别名传参(NamedParameterJdbcTemplate)

在使用JdbcTemplate时,一般传参都是用的?来绑定参数,但是对于某种情况就不适用了,例如Sql中如果存在IN,那么写SQL的时候就会比较麻烦,例如,咱们要查ID在某个范围内的数据,一般情况下咱...
  • Victor_Cindy1
  • Victor_Cindy1
  • 2016年08月12日 14:24
  • 3025

Spring_23-24使用 JdbcTemplate和JdbcDaoSupport和NamedParameterJdbcTemplate

作为了解即可,主要还是关注在sql语句的使用和orm的框架habernate,mybaties重点: 1,学习如何引用外部资源文件和配置数据源 ...
  • y41992910
  • y41992910
  • 2017年02月13日 21:38
  • 234

spring NamedParameterJdbcTemplate 和 SqlParameterSource 参数绑定使用

为啥spring 要开发这个 NamedParameterJdbcTemplate 他解决了在可变参数中的匹配不正确 在参数列表中 ? 对应的索引号 如果出现了新增参数改变起来很不方便而且还容易处错误...
  • seemyname
  • seemyname
  • 2015年07月30日 13:59
  • 1588

JdbcTemplate 、NamedParameterJdbcTemplate、SimpleJdbcTemplate的区别

JdbcTemplate 、NamedParameterJdbcTemplate、SimpleJdbcTemplate的区别 一、JdbcTemplate 首先在配置文件中设置数据源 ...
  • cwzhsi
  • cwzhsi
  • 2014年11月21日 18:23
  • 525

NamedParameterJdbcTemplate

NamedParameterJdbcTemplate和JdbcTemplate功能基本差不多。使用方法也类型。下面具体看下代码。   db.properties 1 jdbc.use...
  • sjyttkl
  • sjyttkl
  • 2017年05月24日 19:51
  • 84
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:NamedParameterJdbcTemplate
举报原因:
原因补充:

(最多只允许输入30个字)