码迷,mamicode.com
首页 > 数据库 > 详细

jdbc

时间:2018-02-19 14:56:26      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:没有   val   url   user   col   rollback   情况   回滚事务   ring   

1 什么是jdbc

java database connectivity

2 常用的接口

2.1 Driver

com.mysql.jdbc.Driver

2.2 Connection

创建到特定数据库的连接,有了连接之后就好办事。

Connection conn = DriverManager.getConnection("jdbc:mysql://host:port/database", "user", "password");

常用方法:

第一,createStatement(),创建向数据库发送sql的Statement对象;

第二,prepareStatement(),创建向数据库发送sql的PrepareStatement对象;

第三,commit(),在该连接上提交事务;

第四,rollback(),在连接上回滚事务。

2.3 Statement

发送简单的sql,可能有sql注入。

2.4 PrepareStatement

发送带参数的sql,可以预防sql注入。

2.5 ResultSet

sql操作的返回结果。

3 jdbc的通用步骤

第一步,注册驱动

Class.forName(“com.MySQL.jdbc.Driver”);

第二步,建立连接

Connection con = DriverManager.getConnection(url, user, password);

第三步, 创建statement

String sql = "insert into user (name, pwd) value (?,?)";

PreparedStatement ps = conn.preparedStatement(sql);

ps.setString(1, "col_value");

ps.setString(2, "123456");

第四步,执行并获取结果

ResultSet rs = ps.executeQuery();

第五步,释放资源,顺序和创建的顺序相反

rs.close();

ps.close();

conn.close()

4 事务和回滚

事务就是一连串的sql操作,要们全部成功,要们全部失败。

当数据库的autocommit设置为false之后,在Statement上执行executeQuery()之后并没有真正的将数据提交到数据库,这个时候,如果直接执行rollback操作,这些executeQuery()操作就会被丢弃。只有在调用commit()并且没有exception发生的情况下,才是真正的执行成功了。我们可以在异常处理中加入rollback操作,对提交失败的事务进行回滚。

 

jdbc

标签:没有   val   url   user   col   rollback   情况   回滚事务   ring   

原文地址:https://www.cnblogs.com/hustdc/p/8453754.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!