package cn.com.ruanyuan.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class BaseDAO {
private static final String DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
private static final String URL = "jdbc:sqlserver://localhost:1433;DatabaseName= booksystem";
private static final String USERNAME = "sa";
private static final String PASSWORD = "sa";
protected Connection conn;
protected PreparedStatement pstmt;
protected ResultSet rs;
//创建连接方法
protected void getConnection(){
try{
try {
Class.forName(DRIVER);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
conn = DriverManager.getConnection(URL,USERNAME, PASSWORD);
}catch(SQLException e){
e.printStackTrace();
}
}
//闭合方法
protected void closeResource(){
if(rs!=null){
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(pstmt!=null){
try {
pstmt.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
//查询方法
public ResultSet execQuery(String sql,String[] paras){
try{
this.getConnection();
pstmt = conn.prepareStatement(sql);
if(paras!=null&& paras.length>0){
int index = 1;
for(String para:paras){
pstmt.setString(index, para);
index++;
}
}
rs = pstmt.executeQuery();
}catch(SQLException e){
e.printStackTrace();
}
return rs;
}
//增删改
public int execUpdate(String sql, String[] paras){
int row = 0;//受影响的行数
//链接数据库
this.getConnection();
//基于SQL语句得到PreparedStatement对象
try{
pstmt = conn.prepareStatement(sql);
//创建并添加相应的参数
if(paras!=null&¶s.length>0){
//将SQL语句参数数组中的值依次赋值给与执行语句
for(int i=0;i<paras.length;i++){
pstmt.setString(i+1, paras[i]);
}
}
row = pstmt.executeUpdate();
}catch(SQLException e){
e.printStackTrace();
}finally{
this.closeResource();
}
return row;
}
}
private static final String DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
private static final String URL = "jdbc:sqlserver://localhost:1433;DatabaseName= booksystem";
private static final String USERNAME = "sa";
private static final String PASSWORD = "sa";
protected Connection conn;
protected PreparedStatement pstmt;
protected ResultSet rs;
//创建连接方法
protected void getConnection(){
try{
try {
Class.forName(DRIVER);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
conn = DriverManager.getConnection(URL,USERNAME, PASSWORD);
}catch(SQLException e){
e.printStackTrace();
}
}
//闭合方法
protected void closeResource(){
if(rs!=null){
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(pstmt!=null){
try {
pstmt.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
//查询方法
public ResultSet execQuery(String sql,String[] paras){
try{
this.getConnection();
pstmt = conn.prepareStatement(sql);
if(paras!=null&& paras.length>0){
int index = 1;
for(String para:paras){
pstmt.setString(index, para);
index++;
}
}
rs = pstmt.executeQuery();
}catch(SQLException e){
e.printStackTrace();
}
return rs;
}
//增删改
public int execUpdate(String sql, String[] paras){
int row = 0;//受影响的行数
//链接数据库
this.getConnection();
//基于SQL语句得到PreparedStatement对象
try{
pstmt = conn.prepareStatement(sql);
//创建并添加相应的参数
if(paras!=null&¶s.length>0){
//将SQL语句参数数组中的值依次赋值给与执行语句
for(int i=0;i<paras.length;i++){
pstmt.setString(i+1, paras[i]);
}
}
row = pstmt.executeUpdate();
}catch(SQLException e){
e.printStackTrace();
}finally{
this.closeResource();
}
return row;
}
}