从这一讲开始,需要用到数据库,你先要确保你有一个数据库可以供你测试,本章用到一个表叫做book, 建表语句:
create table letter(
id varchar(20) primary key,
name varchar(20),
author varchar(20),
price float
)
如果你忘记了jdbc , 这里有一个例子让你回忆起来。
spring 对jdbc 作了轻量级的包装,对数据库的全部操作都集中在JdbcTemplate 上面。如果你对template 比较陌生,你可以想象一下简历模板,它把大多数的框架性的通用的内容都准备好了, 你只需要填上你自己的特定的信息,一份简历就制作完毕了。JdbcTemplate 也是这样的,它把通用的功能都写好了,只留下特定的方法需要你去实现或拓展。我们先看一个例子,以便对JdbcTemplate 有一个大体的认识:
为了后面的演示,我们先写一个BookDao 接口,规定一些应该实现的功能。
我们在dao 程序中可以直接使用JdbcTemplate ,但是更简单的方法是dao 直接继承自JdbcDaoSupport ,因为JdbcDaoSupport 里面包含一个JdbcTemplat 实例,看一下用JdbcDaoSupport 该怎么写DAO ,本例中除了普通的crud ,还用到了batchUpdate ,一次可以插入或跟新多条记录,如果你没有使用过jdbc的batchUpdate , 建议你先看看它是怎么工作的,它能够大大的提高性能.我有一篇blog介绍了jdbc的batchUpdate.建议你去看一看.http://blog.youkuaiyun.com/sunxing007/archive/2009/06/03/4240301.aspx
你会注意到,里面用到了一个内部类BookRowMapper implements RowMapper ,这个类的作用就是把结果集映射成java对象.因为考虑到这个Mapper 只有dao用得到, 所以定义为内部类.现在来做一些配置工作,因为JdbcDaoSupport 需要JdbcTemplate ,JdbcTemplate 需要dataSource ,所以要配置dataSource , JdbcTemplate , 还有刚写的dao . dataSource 的配置我们前面讲过了,我还是把它贴出来,我使用了占位符.
测试:
关于spring jdbc 还有一些内容,比如处理blob, 自增主键, SimpleJdbcTemplate ,NameParamterJdbcTemplate ,它们学习起来应该不难, 就不一一介绍了.
本文通过具体示例介绍如何使用 Spring 的 JdbcTemplate 进行数据库操作,包括 CRUD 操作及批处理等高级特性。
2912

被折叠的 条评论
为什么被折叠?



