操作 数据库 数据 的安全性
做的一个程序
在bean里操作表 abc中的 数据
可能会有很多人一起往表里添加修改删除
这时,我感觉很有可能会几个人同时修改一条记录
这样导致出现点什么错误
所以,在操作数据库的方法上是不是要加同步或线程之类的来控制?
怎么做才能做到安全性最高??
bean内容如下
// sql_data.java
package my;
import java.sql.*;
public class sql_data {
String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
String sConnStr = "jdbc:odbc:liuyanban";
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
public sql_data() {
try {
Class.forName(sDBDriver);
} catch (java.lang.ClassNotFoundException e) {
System.err.println("sql_data(): " + e.getMessage());
}
}
public void executeInsert(String sql) {
try {
conn = DriverManager.getConnection(sConnStr);
stmt = conn.createStatement();
stmt.executeUpdate(sql);
stmt.close();
conn.close();
} catch (SQLException ex) {
System.err.println("sql_data.executeUpdate:" + ex.getMessage());
}
}
public ResultSet executeQuery(String sql) {
try {
conn = DriverManager.getConnection(sConnStr);
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs = stmt.executeQuery(sql);
} catch (SQLException ex) {
System.err.println("sql_data.executeQuery:" + ex.getMessage());
}
return rs;
}
public void executeUpdate(String sql) {
try {
conn = DriverManager.getConnection(sConnStr);
stmt = conn.createStatement();
stmt.executeUpdate(sql);
stmt.close();
conn.close();
} catch (SQLException ex) {
System.err.println("aq.executeQuery: " + ex.getMessage());
}
}
public void executeDelete(String sql) {
try {
conn = DriverManager.getConnection(sConnStr);
stmt = conn.createStatement();
stmt.executeUpdate(sql);
stmt.close();
conn.close();
} catch (SQLException ex) {
System.err.println("sql_data.executeDelete:" + ex.getMessage());
}
}
public void closeStmt() {
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
public void closeConn() {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}