package base.util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class DbOperation {
protected Connection conn;
protected PreparedStatement ps;
protected ResultSet rs;
private final String uname="root";
private final String psw="root";
//��ȡ��ݿ�����
public void getConn(){
try {
//������
Class.forName("com.mysql.jdbc.Driver");
//��ȡ����
conn = DriverManager.getConnection(
"jdbc:mysql:///taotao",uname,psw);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//�ر�
public void closeAll(){
try {
if(conn!=null){
conn.close();
}
if(ps!=null){
ps.close();
}
if(rs!=null){
rs.close();
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//���� Object... ��Ѵ������������object���͵ı�����װ��һ������
public void extUpdate(String sql, Object... obj){
try {
ps=conn.prepareStatement(sql);
for(int i=0;i<obj.length;i++){
ps.setObject(i+1, obj[i]);
}
ps.executeUpdate();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//��ѯ
public void extQuery(String sql, Object... obj){
try {
ps=conn.prepareStatement(sql);
for(int i=0;i<obj.length;i++){
ps.setObject(i+1, obj[i]);
}
rs=ps.executeQuery();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
JDBC连接类
dao层只需要继承该类并写操作数据库的方法即可
eg:
package base.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.util.ArrayList;
import base.util.DbOperation;
import base.vo.user;
public class regdao extends DbOperation{
public void adduser(user user) {
//链接数据库
getConn();
//sql语句
String sql="insert into user (id,username,password) values (?,?);";
extUpdate(sql, user.getUsername(),user.getPassword());
closeAll();
}
}