首先让我们来看下如何使用JdbcTemplate来实现增删改查。
一、首先创建表结构:
java代码:
- //代码片段(cn.javass.spring.chapter7.JdbcTemplateTest)
- @Before
- public void setUp() {
- String createTableSql = "create memory table test" + "(id int GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY, " + "name varchar(100))";
- jdbcTemplate.update(createTableSql);
- }
- @After
- public void tearDown() {
- String dropTableSql = "drop table test";
- jdbcTemplate.execute(dropTableSql);
- }
1) org.junit包下的@Before和@After分别表示在测试方法之前和之后执行的方法,对于每个测试方法都将执行一次;
2) create memory table test表示创建hsqldb内存表,包含两个字段id和name,其中id是具有自增功能的主键,如果有朋友对此不熟悉hsqldb可以换成熟悉的数据库。
二、定义测试骨架,该测试方法将用于实现增删改查测试:
java代码:
- @Test
- public void testCURD() {
- insert();
- delete();
- update();
- select();
- }
三、新增测试:
java代码:
- private void insert() {
- jdbcTemplate.update("insert into test(name) values('name1')");
- jdbcTemplate.update("insert into test(name) values('name2')");
- Assert.assertEquals(2, jdbcTemplate.queryForInt("select count(*) from test"));
- }
四、删除测试:
java代码:
- private void delete() {
- jdbcTemplate.update("delete from test where name=?", new Object[]{"name2"});
- Assert.assertEquals(1, jdbcTemplate.queryForInt("select count(*) from test"));
- }
五、更新测试:
java代码:
- private void update() {
- jdbcTemplate.update("update test set name='name3' where name=?", new Object[]{"name1"});
- Assert.assertEquals(1, jdbcTemplate.queryForInt("select count(*) from test where name='name3'"));
- }
六、查询测试:
java代码:
- private void select() {
- jdbcTemplate.query("select * from test", new RowCallbackHandler(){
- @Override
- public void processRow(ResultSet rs) throws SQLException {
- System.out.print("====id:" + rs.getInt("id"));
- System.out.println(",name:" + rs.getString("name"));
- }
- });
- }
看完以上示例,大家是否觉得JdbcTemplate简化了我们很多劳动力呢?下一篇会深入学习一下.
更多关系Spring的信息
Spring 论坛 http://www.itchm.com/forum-59-1.html
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>