JdbcTemplate简介
Spring对数据库的操作在jdbc上面做了深层次的封装,使用spring的注入功能,可以把DataSource注册到JdbcTemplate之中。
JdbcTemplate位于
中。其全限定命名为org.springframework.jdbc.core.JdbcTemplate。要使用JdbcTemlate还需一个
这个包包含了一下事务和异常控制
![](https://i-blog.csdnimg.cn/blog_migrate/f26bc4f7b2cf4cffe6ed694138ea8933.png)
![](https://i-blog.csdnimg.cn/blog_migrate/06064820b8eeb73e0fafd393a66acb02.png)
JdbcTemplate主要提供以下五类方法:
-
execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句;
-
update方法及batchUpdate方法:update方法用于执行新增、修改、删除等语句;batchUpdate方法用于执行批处理相关语句;
-
query方法及queryForXXX方法:用于执行查询相关语句;
-
call方法:用于执行存储过程、函数相关语句。
下面进行案件分析
在src下面新建一个属性配置文件
![](https://i-blog.csdnimg.cn/blog_migrate/a82e4d5e839941c272d0c4d032394747.png)
[Java]
纯文本查看
复制代码
1
2
3
4
|
1
jdbc.user=root
2
jdbc.password=
123456
3
jdbc.driverClass=com.mysql.jdbc.Driver
4
jdbc.jdbcUrl=jdbc\:mysql\:
///test
|
我们通常将数据库的配置信息单独放到一个文件中,这样也为了方便后期维护
配置Spring配置文件applicationContext.xml
[Java]
纯文本查看
复制代码
01
02
03
04
05
06
07
08
09
10
|
1
<context:property-placeholder location=
"classpath:db.properties"
/>
2
<bean id=
"dataSource"
class
=
"com.mchange.v2.c3p0.ComboPooledDataSource"
>
3
<property name=
"user"
value=
"${jdbc.user}"
></property>
4
<property name=
"password"
value=
"${jdbc.password}"
></property>
5
<property name=
"driverClass"
value=
"${jdbc.driverClass}"
></property>
6
<property name=
"jdbcUrl"
value=
"${jdbc.jdbcUrl}"
></property>
7
</bean>
8
9
<bean id=
"jdbcTemplate"
class
=
"org.springframework.jdbc.core.JdbcTemplate"
>
10
<property name=
"dataSource"
ref=
"dataSource"
></property>
11
</bean>
|
第一行代码:用来读取db.properties文件中的数据。
第二行代码:用来配置一个数据源,这里数据实现类来自C3P0中的一个属性类。其中属性的值就是来自于db.properties
第九行代码:配置一个JdbcTemplate实例,并注入一个dataSource数据源
测试代码
1、update()方法
a、通过update插入数据
1 //启动IoC容器2 ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml");3 //获取IoC容器中JdbcTemplate实例4 JdbcTemplate jdbcTemplate=(JdbcTemplate) ctx.getBean("jdbcTemplate");5 String sql="insert into user (name,deptid) values (?,?)";6 int count= jdbcTemplate.update(sql, new Object[]{"caoyc",3});7 System.out.println(count);
这里update方法,第二参可以为可变参数。在数据库中可以看到,数据以被正确插入