[Java]JDBC数据库编程
2017-02-01 15:41
357 查看
一,JDBC常用接口和类
DriverManagerConnection
Statement
PreparedStatement
ResultSet
二,JDBC编程步骤
(1)加载数据库驱动。Class.forName(driver);
(2)通过DriverManager获取数据库连接。
Connection conn = DriverManager.getConnection(url,user,pass);
(3)通过Connection对象创建Statement对象。
Statement stmt = conn.createStatement();
(4)使用Statement执行SQL语句。
ResultSet rs = stmt.executeQuery(String SQL);
(5)操作结果集。如果执行的SQL语句是查询语句,执行结果将返回一个ResultSet对象,该对象里保存了SQL语句查询的结果。程序可以通过操作该ResultSet对象来取出查询结果。
三,执行SQL方法
执行SQL的方法有三种,executeUpdate执行DDL和DML语句,executeQuery方法执行查询语句,execute方法执行SQL语句,如果知道要执行的SQL是什么类型不用execute,因为很麻烦。Connection对象的createStatement方法产生一个Statement对象,然后用这个对象执行SQL,这种方式比较慢而且不安全,建议用Connection的prepareStatement,参数是一个带占位符的SQL语句,然后创建一个PreparedStatement对象,操作这个对象setXXX方法让SQL语句完整,setXXX方法的参数是(int 占位符,XXX 内容),然后再执行executeUpdate方法。
注意:用预编译的SQL语句不能是关键字。
四,操作返回集
JDBC返回的结果集是ResultSet默认是不能滚动更新的,只能用next()往下,想要创建可更新的ResultSet,必须在创建Statement或PreparedStatement时传入额外的参数:resultSetType控制ResultSet的类型,选择ResultSet.TYPE_SCROLL_INSENSITIVE
resultSetConcurrency控制ResultSet的并发类型,选择ResultSet.CONCUR_UPDATABLE
PreparedStatement pstmt = conn.prepareStatement(sql , ResultSet.TYPE_SCROLL_INSENSITIVE , ResultSet.CONCUR_UPDATABLE);
这样创建的ResultSet就是可滚动可更新的,可以调用updateXXX(jint c, XXX value)方法修改指针的记录,然后用updateRow()方法来更新。
方法
得到行数:getRow()
指针移动到指定行:absolute(int i)
指针往前移动:previous()
移动到最后:last()
五,事务处理
事务处理是处理一组SQL要不都完成要不都不完成,其中如果都完成了要提交事物,如果失败了要事物回滚。首先关闭自动提交,用Connection的setAutoCommit方法conn.setAutoCommit(false),然后用Connection的commit方法来提交事务conn.commit(),如果任意一条SQL语句执行失败,我们应该用Connection的rollback来回滚事务conn.rollback()。
相关文章推荐
- Java的数据库连接编程(JDBC)技术
- 第3天:Java数据库编程JDBC+MySql
- Java数据库编程---JDBC2.0操作
- JAVA数据库编程(JDBC技术)-入门笔记
- JAVA连接数据库编程 JDBC
- [零基础学JAVA]Java SE应用部分-33.Java数据库编程(JDBC)之一 推荐
- Java数据库编程--JDBC
- Java利用JDBC访问数据库的编程步骤
- java连接数据库--JDBC编程
- Java的数据库连接编程(JDBC)技术
- Java的数据库编程(JDBC)技术
- Java的数据库连接编程(JDBC)技术
- JDBC与JAVA数据库编程
- Java数据库编程---JDBC
- Java的数据库连接编程(JDBC)技术
- Java的数据库编程(JDBC)技术[转]
- JAVA数据库编程——JDBC(二):插入时间字段,显示小时分钟秒
- java JDBC编程——从属性文件读取信息,并创建到数据库的连接
- JDBC 与JAVA 数据库编程