import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/***
* 连接数据库
* @author Swing
*
*/
public class BaseDao {
private static final String driver = "com.mysql.jdbc.Driver";
private static final String url = "jdbc:mysql://127.0.0.1:3306/hellomysql?useUnicode=true&characterEncoding=UTF-8";
private static final String name = "root";
private static final String pwd = "123";
private static Connection conn;
private PreparedStatement pstmt;
/***
* 获得数据库连接
* @return
*/
public static Connection getConn(){
try {
Class.forName(driver);
conn = DriverManager.getConnection(url,name,pwd);
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
/***
* 关闭所有连接
* @param conn
* @param stmt
* @param rs
*/
public static void closeAll(Connection conn, Statement stmt,ResultSet rs){
if(rs!=null){
try{rs.close();}catch(SQLException e){e.printStackTrace();}
}
if(stmt !=null){
try{stmt.close();}catch(SQLException e){e.printStackTrace();}
}
if(conn!=null){
try{conn.close();}catch(SQLException e){e.printStackTrace();}
}
}
/***
* 操作数据库,[]批量字符
* @param sql
* @param param
* @return
*/
public int executeSQL(String sql,String[] param){
int num = 0;
try {
conn = this.getConn();
pstmt = conn.prepareStatement(sql);
if(param!=null){
for(int i = 0;i<param.length;i++){
pstmt.setString(i+1, param[i]);
}
}
num = pstmt.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
} finally{
this.closeAll(conn,pstmt,null);
}
return num;
}
/***
* 数据库查询操作
* @param sql
* @return
*/
public ResultSet getRestBySql(String sql){
ResultSet rest = null;
try {
conn = this.getConn();
pstmt = conn.prepareStatement(sql);
rest = pstmt.executeQuery();
} catch (Exception e) {
e.printStackTrace();
}
return rest;
}
/***
* 数据库删除,增加,更新操作
* @param sql
* @return
*/
public int executeSql(String sql){
int num = 0;
try {
conn = this.getConn();
pstmt = conn.prepareStatement(sql);
num = pstmt.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
} finally{
this.closeAll(conn, pstmt, null);
}
return num;
}
}
测试类
package com.jdbc.test;
import java.sql.ResultSet;
import java.sql.SQLException;
public class BaseTest {
public static void main(String[] args) {
BaseDao dao = new BaseDao();
ResultSet rs = dao.getRestBySql("select * from admin");
try {
if(rs!=null){
while(rs.next()){
System.out.println(rs.getString("userName"));
}
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally{
dao.closeAll(null, null, rs);
}
int a = dao.executeSql("delete from admin where id = 2");
System.out.println(a);
int b = dao.executeSql("insert into admin(userName,passWord) values('admin123123','admin123')");
System.out.println(b);
int c = dao.executeSql("update admin set passWord = '123456' where userName = 'admin123123'");
System.out.println(c);
}
}