bookdao.java

来自「一个适合初学者学习的基于jsp的网上书店」· Java 代码 · 共 64 行

JAVA
64
字号
package cn.sotrain.bookstore;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

public class BookDao {
	private final static String jdbcUrl="jdbc:mysql://localhost/bookstore?characterEncoding=GBK";
	private final static String jdbcUser="root";
	private final static String jdbcPassword="";
	static {
		try {
			Class.forName("com.mysql.jdbc.Driver");
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
	}
	
	public List<Book> getAllBook() throws SQLException{
		Connection con = DriverManager.getConnection(jdbcUrl, jdbcUser, jdbcPassword);
		Statement stmt = con.createStatement();
		ResultSet rs = stmt.executeQuery("select * from book");
		List<Book> result = new ArrayList<Book>();
		while(rs.next()){
			Book b = readBook(rs);
			result.add(b);
		}
		rs.close();
		stmt.close();
		con.close();
		return result;
	}
	private Book readBook(ResultSet rs) throws SQLException {
		Book b = new Book();
		b.setId(rs.getString("id"));
		b.setName(rs.getString("name"));
		b.setPrice(rs.getFloat("price"));
		b.setPublishYear(rs.getInt("publishYear"));
		b.setSaleAmount(rs.getInt("saleAmount"));
		b.setTitle(rs.getString("title"));
		b.setDescription(rs.getString("description"));
		return b;
	}
	public Book findById(String id) throws SQLException{
		Connection con = DriverManager.getConnection(jdbcUrl, jdbcUser, jdbcPassword);
		PreparedStatement stmt = con.prepareStatement("select * from book where id=?");
		stmt.setString(1, id);
		ResultSet rs = stmt.executeQuery();
		Book b = null;
		if(rs.next()){
			b = readBook(rs);
		}
		rs.close();
		stmt.close();
		con.close();
		return b;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?