JDBC链接Msql数据库

来源:互联网 发布:oracle sql rowcount 编辑:程序博客网 时间:2024/06/10 20:50
package com.util;


import java.io.Serializable;
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 jianfei.chen
 * 
 */
public class BaseDao {


// 连接对象
public Connection conn = null;
public PreparedStatement pstmt = null;
public ResultSet rs = null;


/**
* 获得连接对象

* @return
*/
public Connection getConnection() {
String url = "jdbc:mysql://localhost:3306/ajaxs";
try {
// 第二步:加载驱动
Class.forName("com.mysql.jdbc.Driver");
// 第三步:获得连接
conn = DriverManager.getConnection(url, "root", "123456");
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}


/**
* 执行查询操作

* @param sql
*            查询语句
* @return 返回结果集
*/
public ResultSet executeQuerySQL(String sql, Object[] obj) {
try {
conn = getConnection();
// 第四步:获得执行对象
pstmt = conn.prepareStatement(sql);
if (obj != null) {
for (int i = 0; i < obj.length; i++) {
pstmt.setObject(i + 1, obj[i]);
}
}
rs = pstmt.executeQuery();
} catch (Exception e) {
e.printStackTrace();
}
return rs;
}


/**
* 执行增删改操作

* @param sql
*            执行语句
* @return 受影响的行数
*/
public int executeUpdateSQL(String sql, Object[] obj) {
int row = 0;
try {
getConnection();
pstmt = conn.prepareStatement(sql);
if (obj != null) {
for (int i = 0; i < obj.length; i++) {
pstmt.setObject(i + 1, obj[i]);
}
}
row = pstmt.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
} finally {
closeAll(null, pstmt, conn);
}
return row;
}


/**
* 逆向关闭所有对象

* @param rs
*            结果集对象
* @param stmt
*            执行对象
* @param conn
*            连接对象
*/
public void closeAll(ResultSet rs, Statement pstmt, Connection conn) {
// 第七步:关闭对象(逆向关闭)
try {
if (rs != null) {
rs.close();
}
if (pstmt != null) {
pstmt.close();
}
if (conn != null) {
conn.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}


public Serializable executeUpdateBean(String sql, Object[] obj) {
Serializable row = 0;
try {
getConnection();
pstmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
if (obj != null) {
for (int i = 0; i < obj.length; i++) {
pstmt.setObject(i + 1, obj[i]);
}
}
pstmt.executeUpdate();
rs = pstmt.getGeneratedKeys();
if (rs.next()) {
row = (Serializable)rs.getObject(1);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
closeAll(rs, pstmt, conn);
}
return row;
}
}
原创粉丝点击