mysql的commit是做什么的

阅读: 评论:0

mysql的commit是做什么的

mysql的commit是做什么的

展开全部

Connection con=null;

PreparedStatement pstm=null;

String strpath = "D:/Lionel/img";

try {

//建立连接

Class.forName(&#sql.jdbc.Driver");

con = Connection("jdbc:mysql://localhost:3306/webstore","root","3121");

//事务处理--关闭自动提交

con.setAutoCommit(false);

//获取Statement对象--准备好静态框架语句

pstm = con.prepareStatement("insert into blobtest (name,picture) values (?,?)");

File fpath = new File(strpath);

if(fpath.canRead()){

//直接拿到File 对象

File[] listFiles = fpath.listFiles();

for (int i = 0; i 

if(listFiles[i].isFile()){

//插读管道--[DBF_BF]

FileInputStream fis = new FileInputStream(listFiles[i]);

BufferedInputStream bis = new BufferedInputStream(fis);

//设置动态参数32313133353236313431303231363533e58685e5aeb931333361313238

pstm.setString(1,listFiles[i].getName());

pstm.setBinaryStream(2, fis,fis.available());

//发送语句

//关闭管道

bis.close();

fis.close();

}

}

}

//提交

conmit();

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (ClassNotFoundException e) {

e.printStackTrace();

} catch (SQLException e) {

try {

//回滚

} catch (SQLException e1) {

e1.printStackTrace();

}

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}finally{

try {

//关闭JDBC对象

pstm.close();

con.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

}

总体思想就是, commit是用来做事务处理的, 进行数据操作修改、删除、插入之前,先关闭数据库的autocommit功能,然后通过 tay catch 来进行手动的事务处理,这样会更安全。

上边那个例子  是一个blob类型数据插入的实例。关于文件那部分自动过滤掉,不用看。

下面是伪代码

try{

//事务处理--关闭自动提交

con.setAutoCommit(false);

//执行增、删、改操作。

.......

//提交事务

conmit();

}catch{

//输出错误信息。

//然后回滚。取消掉之前未完成的增、删、改操作。

//关闭JDBC连接

pstm.close();

con.close();

}

这样可以保证所有正常的增、删、改在执行正确的时候可以正常执行,而一旦报错,或执行到一半的时候出现问题,则回滚所有在con.setAutoCommit(false);语句之后执行的数据库操作,保证系统运行出问题的情况下对数据库的数据无任何负面影响。

本文发布于:2024-02-04 23:08:23,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170718492860613.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:做什么   mysql   commit
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23