spring jdbcTemplate测试

本文介绍使用Spring框架中的JDBC模板实现图书数据访问层(DAO),包括创建图书记录及按作者查询图书列表的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、DAO interface
package test.dao;

import java.util.List;
import test.model.Book;

public interface BookDAO {
    void create(Book book);
     List<Book> queryByAuthor(String author);
}

2、DAO Impl

package test.dao.impl;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.core.support.JdbcDaoSupport;
import test.dao.BookDAO;
import test.model.Book;
public class BookDAOImpl extends JdbcDaoSupport implements BookDAO {

class BookRowMapper implements RowMapper {

     public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
           Book book = new Book();
           book.setId(rs.getLong("id"));
           book.setName(rs.getString(
"name"));
           book.setAuthor(rs.getString(
"author"));
          return book;
     }

}

  public void create(Book book) {
      getJdbcTemplate().update(
        
"insert into book(id,name,author)values(book_seq.nextval,?,?)",
            new Object[] { book.getName(), book.getAuthor() });
        }

 public List<Book> queryByAuthor(String author) {
      return getJdbcTemplate().query(
"select * from book where author=?", new Object[]{author}, new BookRowMapper());
}
 
}
3、spring context
<?xml version=
"1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC
"-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>

    <!--========WebDb DataSource========================================================================-->
<!-- -->
<bean id=
"webdbDataSource"
          class=
"org.apache.commons.dbcp.BasicDataSource"
          destroy-method=
"close">
        <property name=
"driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
        <property name=
"url" value="jdbc:oracle:thin:@localhost:1521:lunzi"/>
        <property name=
"username" value="webnews"/>
        <property name=
"password" value="123456"/>
    </bean>
    
<bean id=
"jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name=
"dataSource" ref="webdbDataSource"/>
</bean>

<bean id=
"bookDao" class="test.dao.impl.BookDAOImpl">
<property name=
"dataSource" ref="webdbDataSource"/>
</bean>
</beans>

 

4.book类

package test.dao.model;

public class Book {
 private int id;
 private String name;
 private String author;
 public int getId() {
  return id;
 }
 public void setId(int id) {
  this.id = id;
 }
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public String getAuthor() {
  return author;
 }
 public void setAuthor(String author) {
  this.author = author;
 }
}


5、测试类
package test.dao.test;

import java.util.List;

import test.dao.BookDAO;
import test.model.Book;

public class BookDAOTest extends BaseDaoTestCase {
public BookDAO bookDao;

public void setBookDao(BookDAO bookDao){
this.bookDao = bookDao;
}

/*public void testCreateBook(){
Book book = new Book();
book.setAuthor("lunzi2");
book.setName("cow2");
this.bookDao.create(book);
}*/


public void testQueryByAuthor(){
List<Book> list = this.bookDao.queryByAuthor(
"lunzi2");

for(Book book:list){
System.out.println(book.getName());
}
super.assertNotNull(list);
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值