package mobileInfo;
import java.sql.*;
public class SQLHelper {
private String str;
private String name;
private String user;
private String password;
private Connection conn;
private Statement stmt;
private ResultSet rs;
private PreparedStatement pstmt;
public SQLHelper() {
name = "oracle.jdbc.driver.OracleDriver";
str = "jdbc:oracle:thin:@localhost:1521:orcl";
user = "scott";
password = "*********";
}
public Connection getConn() { // 功能是返回数据库连接对象
try {
Class.forName(name);
conn = DriverManager.getConnection(str, user, password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
public ResultSet executeQuery(String sql) {// 功能是根据SQL语句做更新操作,返回影响数据行数
rs = null;
try {
stmt = getConn().createStatement();
rs = stmt.executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return rs;
}
public int executeUpdate(String sql) {// 功能是根据SQL语句查询出结果集
int i = 0;
pstmt = null;
try {
pstmt = getConn().prepareStatement(sql);
i = pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
return i;
}
public PreparedStatement preparedStatement(String sql) {// 功能是根据SQL语句返回预编译对象
pstmt = null;
try {
pstmt = getConn().prepareStatement(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return pstmt;
}
public void close() {// 功能是关闭数据库连接
if (getConn() != null) {
try {
getConn().close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public void setAutoCommit(Boolean b) {// 功能是设置是否自动提交
if (b) {
try {
getConn().commit();
} catch (SQLException e) {
e.printStackTrace();
}
} else {
try {
getConn().rollback();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public void commit() {// 功能是提交事务
try {
getConn().commit();
} catch (SQLException e) {
e.printStackTrace();
}
System.out.println("提交成功");
}
public void rollback() {// 功能是回滚事务
try {
getConn().rollback();
} catch (SQLException e) {
e.printStackTrace();
}
System.out.println("回滚事务");
}
}