黑马程序员技术交流社区
标题:
记录我成都黑马的学习历程,不定期更新
[打印本页]
作者:
heroic_cat
时间:
2018-11-1 19:45
标题:
记录我成都黑马的学习历程,不定期更新
今天学习了JDBC 针对学习内容做下总结
JDBC 相关概念(Java data base connectivity)
JDBC 的CRUD操作
JDBC 管理事务
1.1 JDBC 相关概念(Java data base connectivity)Java语言操作数据库
JDBC:定义了一套操作所有关系型数据库的规则(接口)
* 官方sun公司,定义的一套操作所有关系型数据库的规则,及接口。各个数据库厂商,他们去实现了这套接口,提供数据库驱动jar包。我们可以使用这套接口编程,真正执行的代码是驱动jar包中实现类
1.2 JDBC 快速入门
基本执行步骤:
1.导入驱动jar包
2.注册驱动(告诉Java程序使用的驱动jar包是谁的)
3.获取数据库的连接对象 connection
4.定义sql 语句
5.获取sql的语句的对象 statement
6.执行sql,接收返回结果
7.处理结果(查询的结果处理比较复杂)
8.释放资源
1.3 JDBC 各个对象详解
DriverManager:驱动管理对象
1. 注册驱动 (一般用Class.forName(...)来代替)
2. 获取连接:Connection getConnection(String url, String user, String password)
Connection:数据库连接对象
1. 获取sql执行对象:
Statement createStatement()
PreparedStatement prepareStatement(String sql)
2. 对于事务的操作:
开启事务:setAutoCommit(boolean b)
提交事务: commit() :需要被事务管理的sql都执行成功了,则提交事务
回滚事务: rollback():一旦有异常发生,则回滚事务
Statement:sql执行对象
1. 执行DML:int executeUpdate(String sql)
* DML(对数据的增删改)
* DDL(操作数据库和表)也可以操作
2. 执行DQL: ResultSet executeQuery(String sql)
ResultSet: 是查询语句结果集对象,操作非常类似于迭代器
boolean next() 向下移动一行
getXxx(int index) 在当前行上,根据列的编号获取值
getXxx(String colName) 在当前行上,根据列的名称获取值
PreparedStatement: 预编译sql执行对象
与Statement的区别:
1. 使用 PreparedStatement,定义的sql如果有参数,则用?代替参数
2. 用Connection对象获取PreparedStatement时,需要传递定义好的sql
3. 在执行SQL语句之前,需要用setXxx(int index,XXX 参数)设置?上应该传递的参数
4. 执行SQL语句的时候不需要再传递sql语句了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2