jdbc

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()(或者在PreparedStatement上执行executeUpdate())之后并没有真正的将数据提交到数据库,这个时候,如果直接执行rollback操作,这些executeQuery()操作就会被丢弃。只有在调用commit()并且没有exception发生的情况下,才是真正的执行成功了。我们可以在异常处理中加入rollback操作,对提交失败的事务进行回滚,所以说,事务就是一连串的sql操作,要么全部成功,要么全部失败。

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