mysql 用java调用可以批量执行 存储过程吗?
如进仓时候,我有两张表:物料表+进仓记录表这个时候就要在进仓记录表中插入数据并在物料表更新数量。我想写个存储过程,然后进行批量处理。
怎么做呢? O(∩_∩)O谢谢 mysql 存储过程 批量处理 --------------------编程问答-------------------- 你可以把数据写到缓存里,一次性更新。。
当然也可以用jdbc挨个的更新。。
工具类
public final class JdbcUtils {
private static String url = "jdbc:mysql://127.0.0.1:3306/ssh?useUnicode=true&characterEncoding=GBK";
private static String user = "root";
private static String password = "123456";
private JdbcUtils(){
}
static{
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
throw new ExceptionInInitializerError(e);
}
}
public static Connection getConnection() throws SQLException{
return DriverManager.getConnection(url, user, password);
}
public static void free(ResultSet rs, Statement st, Connection conn){
try{
if (rs != null){
rs.close();
}
}catch (SQLException e){
e.printStackTrace();
}finally{
try{
if (st != null){
st.close();
}
}catch (SQLException e){
e.printStackTrace();
}finally{
if (conn != null){
try{
conn.close();
}catch (SQLException e){
e.printStackTrace();
}
}
}
}
}
}
执行类
static void update() throws Exception {
java.sql.Connection conn = null;
java.sql.Statement st = null;
java.sql.ResultSet rs = null;
String sql = "update user set password='gxy850318' where username = 'eboy'";
try {
//2.建立连接,可选指定编码及字符集
conn = JdbcUtils.getConnection();
//3.创建语句
st = conn.createStatement();
//4.执行语句
int i = st.executeUpdate(sql);
//5.处理结果
System.out.println("Result: " + i);
} finally {
JdbcUtils.free(rs, st, conn);
}
}
补充:Java , Java EE