没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
Spring
中
jdbcTemplate
的用法实例(一)
博客分类:
spring
一、首先配置 JdbcTemplate;
要使用 Jdbctemplate 对象来完成 jdbc 操作。通常情况下,有三种种方式得到
JdbcTemplate 对象。
第一种方式:我们可以在自己定义的 DAO 实现类中注入一个 DataSource 引用来完 成
JdbcTemplate 的实例化。也就是它是从外部“注入” DataSource 到 DAO 中,然后 自己实
例化 JdbcTemplate,然后将 DataSource 设置到 JdbcTemplate 对象中。
第二种方式: 在 Spring 的 IoC 容器中配置一个 JdbcTemplate 的 bean,将
DataSource 注入进来,然后再把 JdbcTemplate 注入到自定义 DAO 中。
第三种方式: Spring 提供了 org.springframework.jdbc.core.support.JdbcDaoSupport
类 , 这 个 类 中 定 义 了 JdbcTemplate 属性,也定义了 DataSource 属性,当设置
DataSource 属性的时候,会创 建 jdbcTemplate 的实例,所以我们自己编写的 DAO 只需
要继承 JdbcDaoSupport 类, 然后注入 DataSource 即可。提倡采用第三种方法。虽然下
面的用法中采用了前两种方法
配置方法有 3 种:
1、
Java 代码
1. publicclassUserServiceImplimplementsUserService{
2.
3. privateJdbcTemplatejdbcTemplate;
4.
5. publicJdbcTemplategetJdbcTemplate(){
6. returnjdbcTemplate;
7. }
8.
9. //注入方法 1
10. publicvoidsetJdbcTemplate(JdbcTemplatejdbcTemplate){
11. this.jdbcTemplate=jdbcTemplate;
12. }
13.
14. //其它方法这里省略……
15. }
spring 配置文件为:
Xml 代码
1. <beanid="jdbcTemplate"class="org.springframework.jdbc.core.JdbcTempl
ate">
2. <propertyname="dataSource"ref="dataSource">
3. </bean>
4. <beanid="userService"class="com.hxzy.account.jdbcTemplate.UserServic
eImpl">
5. <propertyname="jdbcTemplate"ref="jdbcTemplate"/>
6. </bean>
方法 2、
Java 代码
1. publicclassUserServiceImplimplementsUserService{
2.
3. privateJdbcTemplatejdbcTemplate;
4.
5. //注入方法 2
6. publicvoidsetDataSource(DataSourcedataSource){
7. this.jdbcTemplate=newJdbcTemplate(dataSource);
8. }
9.
10. //其它方法省略……
11. }
spring 配置文件为:
Xml 代码
1. <beanid="userService"class="com.hxzy.account.jdbcTemplate.UserServic
eImpl">
2. <propertyname="dataSource"ref="dataSource"/>
3. </bean>
方法 3:继承 JdbcDaoSupport,其内部有个 JdbcTemplate ,需要注入 DataSource 属性
来实例化。
Java 代码
1. publicclassUserDaoImplextendsJdbcDaoSupportimplementsUserDao{
2.
3. @Override
4. publicvoidsave(Useruser){
5. Stringsql=null;
6. this.getJdbcTemplate().update(sql);
7. }
8. //其它方法省略……
9. }
spring 配置文件:
Xml 代码
1. <beanid="userDao"class="com.hxzy.account.jdbcTemplate.UserDaoImpl">
2. <propertyname="dataSource"ref="dataSource"/>
3. </bean>
二、常用方法使用
【注意:】jdbcTemplate 中的 sql 均是用“?”做占位符的
domain User:
Java 代码
1. publicclassUser{
2. privateintid;
3. privateStringusername;
4. privateStringpassword;
5. privateStringsex;
6.
7. //setter 和 getter 方法省略……
8. }
UserServiceImpl :
如果采用第三种方式,则下面的用法中将方法中的 jdbcTemplate 换成
this.getJdbcTemplate()即可。
Java 代码
1. /**
2. *创建表
3. */
4. publicvoidcreate(StringtableName){//tb_test1
5. jdbcTemplate.execute("createtable"+tableName+"(idinteger,
user_namevarchar2(40),passwordvarchar2(40))");
6. }
7.
8. //jdbcTemplate.update 适合于 insert、update 和 delete 操作;
9. /**
10. *第一个参数为执行 sql
11. *第二个参数为参数数据
12. */
13. publicvoidsave3(Useruser){
14. Assert.isNull(user,"userisnotnull");
15. jdbcTemplate.update("insertintotb_test1(name,password)value
s(?,?)",
剩余10页未读,继续阅读
资源评论
奇军
- 粉丝: 2
- 资源: 27
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功