1、什么是JDBC"text-align: center">
有了JDBC, 向各种关系数据发送sql语句就变得很容易了
换句话说就是有了JDBC API就不用为了访问Oracle数据库专门写一个程序
或者又为访问MySQL数据库专门写一个程序。
2、Java APP使用JDBC连接数据库并处理数据有哪些操作步骤?
将驱动包所在路径添加到CLASSPATH类路径变量中
(如:将mysql-connector-java-5.1.5-bin.jar复制到D:\javasoft下,然后把“D:/javasoft/mysql-connector-java-5.1.5-bin.jar”增加到CLASSPATH变量值中)
步骤:
1)加载Driver驱动
2)创建数据库连接对象Connection
3)创建一个可向数据库发送SQL命令并返回结果的传送对象Statement
4)执行SQL命令并处理返回结果
5)处理后,如果有返回结果集,关闭结果集对象ResultSet
6)关闭对应的 Statement 对象
7)关闭连接对象Connection
3、案例分析1
//1、加载驱动 com.mysql.jdbc.Driver是驱动类的路径 Class.forName("com.mysql.jdbc.Driver"); //2、创建数据库连接对象 Connection conn = null ; Statement stmt = null ; ResultSet rs = null ; String url = "jdbc:mysql://localhost:3306/test" ; //localhost表示本机 3306为默认端口 test为数据库名称 String username = "root" ; //定义连接数据库的用户名和密码 String password = "root" ; conn = DriverManager.getConnection(url,username,password);
复制代码 代码如下://3、创建一个可向数据库发送SQL命令并返回结果的传送对象Statementstmt = conn.createStatement();
复制代码 代码如下://4、将sql命令通过sql传送对象Statement传送到数据库执行,并返回结果String sql = "select * from user" ;rs = stmt.executeQuery(sql);
executeQuery()用于执行查询语句,返回的是结果集,实际上就是一个满足查询条件的一个表
rs结果集通过指针来指定当前是哪一条数据
调用next方法,指针会指向下一条数据,如果有数据,会返回true
//5、处理结果集 while(rs.next()){ println(rs.getString("username")); pringln(rs.getInt("password")); }
这里没有声明抛出异常,需要放在try catch 的try里面,或者抛出也行,如果放在try里面,要把catchSQLException...
finally要将conn stmt rs 都close 因为这些都是JVM的外部资源,和IO一样都要手动关闭,它不在JVM的管理范围内
4、案例分析2(增删改)
增加、修改、删除都属于数据操作,与数据查询不同的是:
没有查询结果,不需要使用ResultSet
执行方法用的是executeUpdate()不是executeQuery()
executeUpdate()方法也有返回值,但不是ResultSet,而是一个int,表示更新了多少条数据,一般可不处理
5、什么是事务?
是一组原子性的数据库操作,指的是一组数据库操作中,要么都成功,要么都不成功。
一个经典的例子:转账
从100001账户转账100.00元到100002账户:
update account1 set money=money-100.00 where code='100001';
update account1 set money=money+100.00 where code='100002';
如何进行事务管理?
默认是自动提交的,进行事务管理时首先要设为手动提交
程序正常运行时,最后调用Connection对象的commit方法进行事务提交
程序出现异常时,调用Connection对象的rollback方法进行事务回滚
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
更新日志
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]