Spring NamedParameterJdbcTemplate详解(10)

Posted weiqingfeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring NamedParameterJdbcTemplate详解(10)相关的知识,希望对你有一定的参考价值。

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 NamedParameterJdbcTemplate详解(10)的主要内容,如果未能解决你的问题,请参考以下文章

Spring全家桶笔记:Spring+Spring Boot+Spring Cloud+Spring MVC

学习笔记——Spring简介;Spring搭建步骤;Spring的特性;Spring中getBean三种方式;Spring中的标签

Spring--Spring入门

Spring框架--Spring事务管理和Spring事务传播行为

Spring框架--Spring事务管理和Spring事务传播行为

Spring框架--Spring JDBC