import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException;
public class DataBaseConnection {
//驱动字符串
private final String DBDRIVER = \; //url
private final String DBURL =
//用户名
private final String DBUSER = \; //密码
private final String DBPASSWORD = \; //连接对象
private Connection conn = null;
//构造方法加载驱动
public DataBaseConnection(){ }
//获取数据库连接
public Connection getConnetion(){ }
//关闭资源
public void close(){
try { }
conn.close();
// TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { return conn; try {
Class.forName(DBDRIVER);
conn = DriverManager.getConnection(DBURL, DBUSER,
\;
DBPASSWORD);
} catch (ClassNotFoundException e) { }
// TODO Auto-generated catch block e.printStackTrace();
// TODO Auto-generated catch block e.printStackTrace();
} catch (SQLException e) {
}
}
3、VO类(类比JavaBean)
VO类是包含属性和表中字段完全对应的类,并提供
setter和getter方法来设置和获取该类中的属性
DEMO:
package cn.dao;
public class VoDemo { //用户id
private int id;
//用户名
private String userName; //用户密码
private String password;
//设置id
public void setId(int id) { this.id = id;
}
//获取id
public int getId() { return id; }
//设置用户名
public void setUserName(String userName) { this.userName = userName; }
//获取用户名
public String getUserName() { return userName;
}
//设置密码
public void setPassword(String password) { this.password = password; }
//获取密码
public String getPassword() {
return password;
}
}
4、DAO接口
DAO接口中定义了所有的用户操作,如添加记录,查询
记录和删除记录等。不过因为是接口,所以仅仅是定义,需要子类来实现。
import java.util.List;
//定义数据库操作
public interface UserDAO { }
//增加操作
public void insert(User user); //修改操作
public void update(User user); //删除操作
public void deleteById(int id); //按id查询
public User queryById(int userId); //查询全部
public List
DAO接口的DEMO:
package cn.dao;
5、 DAO实现类
DAO实现类实现了DAO接口,并实现了DAO接口中的
所有方法,在DAO中实现数据库的操作
import java.sql.PreparedStatement;
以下是对接口UserDAO的实现:
package cn.dao;
import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List;
public class UserDaoImp implements UserDAO {
//添加用户
public void insert(User user) {
//要预处理的SQL语句
String sql= \//声明预处理对象
PreparedStatement pstmt = null; //声明连接对象
DataBaseConnection dbc = null; //下面是针对数据库的具体操作
dbc = new DataBaseConnection(); try {
//根据id删除相应的元素
public void deleteById(int id) { }
//预处理的sql语句
String sql = \; //声明预处理对象
PreparedStatement pstmt = null; //声明连接对象
DataBaseConnection dbc = null; //对数据库的操作
dbc = new DataBaseConnection(); try { }
pstmt = dbc.getConnetion().prepareStatement(sql); pstmt.setInt(1, id); pstmt.execute(); pstmt.close();
// TODO Auto-generated catch block e.printStackTrace(); dbc.close();
} catch (SQLException e) {
}finally{
(?,?,?)\;
}
}
pstmt = dbc.getConnetion().prepareStatement(sql); pstmt.setInt(1, user.getId());
pstmt.setString(2, user.getUserName()); pstmt.setString(3, user.getPassword()); pstmt.execute(); pstmt.close();
// TODO Auto-generated catch block e.printStackTrace(); dbc.close();
} catch (SQLException e) {
}finally{
//查询所有用户
public List
//预处理的SQL语句
String sql = \; //声明预处理变量
PreparedStatement pstmt = null; //声明连接对象
DataBaseConnection dbc = null; //声明列表
List
ResultSet rs = null;
//对数据库的操作
list = new ArrayList
dbc = new DataBaseConnection();
pstmt = dbc.getConnetion().prepareStatement(sql); rs = pstmt.executeQuery(); while(rs.next()){ }
rs.close(); pstmt.close();
// TODO Auto-generated catch block e.printStackTrace();
User user = new User(); user.setId(rs.getInt(\));
user.setUserName(rs.getString(\)); user.setPassword(rs.getString(\)); list.add(user);
} catch (SQLException e) {