Oracle数据库密码scott 因本人的数据库端口号有些不同故使用者可能要将数据库端口号由原来的1522改写成1521
Book.java文件
package levelcheck;
public class Book { //定义数据库字段,并分别给出其setter,getter 方法。
private int id;
private String title;
private int price;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
}
bookDao.java 文件
package levelcheck;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.sql.DataSource;
import org.springframework.jdbc.core.JdbcTemplate;
public class bookDao {
private DataSource dataSource; //定义dataSource数据连接
public List
getBook() //定义一个取得Books数据的方法,返回一个list的值组
{
List list = new ArrayList();
List booklist = new ArrayList();
final String sql="select id,title,price from books"; //定义数据库查询语句
JdbcTemplate jt = new JdbcTemplate(dataSource); //执行数据库查询语句
list = jt.queryForList(sql); //将执行过的值交由list
for(Iterator it = list.iterator();it.hasNext();) //采用iterator遍历
{
Map map = (Map)it.next(); //定义map
Book b = createBook(map); //调用createBook方法将值存在Book的对象b中
booklist.add(b); //将其值添加到booklist中
}
return booklist; //返回该值}
public Book createBook(Map map)
{
Book b = new Book();
b.setId(((BigDecimal)map.get("ID")).intValue());
b.setTitle((String)map.get("TITLE"));
b.setPrice(((BigDecimal)map.get("PRICE")).intValue());
return b;
}
public DataSource getDataSource() {
return dataSource;
}
public void setDataSource(DataSource dataSource) {
this.dataSource = dataSource;
}
}
bookDaoTest.java 文件
package levelcheck;
import java.util.Iterator;
import java.util.List;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class bookDaoTest {
public static void main(String[] args) {
ApplicationContext acx = new ClassPathXmlApplicationContext("/levelcheck/beans.xml"); //读取配置文件中的信息
bookDao bookdao = (bookDao)acx.getBean("bookdao"); //通过xml文件中的描述去执行拿取数据
List list = bookdao.getBook();
for(Iterator it = list.iterator();it.hasNext();) //得到遍历的数据,并将其显示在类中
{
Book bk = (Book)it.next();
System.out.println(bk.getId()+" "+bk.getTitle()+" "+bk.getPrice()+" "+'\n');
}
}
}
XML文件