DAO类
最简单的DAO层数据库的连接与增、删、改、查
?
package dao;
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
/**
?* 用于对数据库表执行增删改查
?*/
public class DAO
{
??? private Connection con = null;
??? private Statement stmt = null;
??? private ResultSet rs = null;
??? /**
???? * 该方法用于加载驱动,获得与数据源的连接
???? */
??? private void open() {
??????? try {
??????????? Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
??????????? con = DriverManager.getConnection("jdbc:odbc:bridge");
??????????? stmt = con.createStatement();
??????? } catch (Exception ex) {
??????????? ex.printStackTrace();
??????? }
??? }
??? /**
???? * 用于向数据库表中插入数据
???? */
??? public int add(String sql) {
??????? int row = edit(sql);
??????? return row;
??? }
??? /**
???? * 用于从数据库表中删除数据
???? */
??? public int delete(String sql) {
??????? int row = edit(sql);
??????? return row;
??? }
??? /**
???? * 用于更新数据库表中的数据
???? */
??? public int update(String sql) {
??????? int row = edit(sql);
??????? return row;
??? }
??? /**
???? * 用于对数据库表执行更新(包括增删改)
???? */
??? private int edit(String sql) {
??????? int row = 0;
??????? try {
??????????? open();
??????????? row = stmt.executeUpdate(sql);
??????????? close();
??????? } catch (Exception ex) {
??????????? ex.printStackTrace();
??????? }
??????? return row;
??? }
??? /**
???? * 用于查询数据库表中的数据
???? */
??? public ResultSet query(String sql) {
??????? try {
??????????? open();
??????????? rs = stmt.executeQuery(sql);
??????? } catch (Exception ex) {
??????????? ex.printStackTrace();
??????? }
??????? return rs;
??? }
??? /**
???? * 用于关闭与数据源的连接
???? */
??? public void close() {
??????? try {
??????????? stmt.close();
??????????? con.close();
??????? } catch (Exception ex) {
??????????? ex.printStackTrace();
??????? }
??? }
}