jdbc代码_【百战程序员从开始到植发】之JDBC

1. JDBC_简介

(1) 什么是JDBC?

2ef546464159116e567ad19cecd0fd1b.png

(2) JDBC操作中涉及到的接口和类主要有哪些? 分别有什么作用?

696f7e440db2ceac4fea951cc33e4dfc.png

82b421316218d5bacbdea7f59467c17e.png

d4bf37bedb17473ac98f798538dd48b1.png

c01ed47023f31ac3e657434e67a8866e.png

fd8dc1468053c6339ee1f59c57dcd0a2.png

499195726e8ef8027f8a910080c984f1.png

d765835edd3e76dce1ccf54fc97bea70.png

2. JDBC_连接步骤_驱动类加载_建立Connection

(1) 简述使用JDBC连接数据库的步骤有哪些?

815f4c455655427c0b0d2a1d49f1bc0e.png

(2) 简述Class.forName()的作用?

通过反射机制将数据库驱动实例化。

3. JDBC_Statement发送器_ResultSet处理_完成查询操作

(1) JDBC中, Statement起什么作用? 如何得到Statement对象?

发送sql语句。通过Connection对象调用createStatement();

(2) 什么是ResultSet? ResultSet中有哪些方法?

结果集,用于存储查询的结果的指针;

.next();返回一个布尔值

.gerInt(列名);获取一列的信息

.getString(列名);获取一列的信息

(3) 请写出JDBC中ResultSet的遍历,并说出开始和最后的时候指针指向什么位置?

最开始指针是在第一行之前,通过while(对象.next())进行迭代,如果有数据则调用getXXX(int fieldIndex)/getXXX(String columnName)方法获取字段值。

没有则返回flase。

4. JDBC_异常处理_关闭资源

(1) JDBC操作中, 可能会碰到哪些异常?

2767c178301c5d4a72a1620678d3ff2f.png

(2) JDBC操作完成后, 需要关闭哪些资源? 顺序是什么?

先关闭ResultSet然后是Statement,最后Connection。

(3) 在JDBC编程时为什么要养成经常释放资源的习惯?

节约资源,减少不必要的消耗,为以后多次使用铺垫。

5. JDBC_执行DML操作

(1) 执行DML操作时使用JDBC中的哪个方法?

添加和删除都是executeUpdate(sql);查询是用excuteQuery(sql);

(2) executeUpdate方法的返回结果什么类型, 代表什么含义?

e74a6e330fc45e5f09ec7226dd2afab7.png

6. JDBC_事务管理

(1) 事务处理有哪些步骤?列出相应的关键代码.

关闭自动事务处理,使用.commit()和.rollback()手动对代码进行事务处理。

7. JDBC_了解登录流程_封装工具类DBUtil

(1) 简述登录功能的实现流程.

(2) 如何封装JDBC工具类?

将代码重复的部分用方法来代替,如创建Connection对象,和资源关闭。

8. JDBC_使用DBUtil_登录练习

(1) 使用DBUtil实现用户注册功能.

9. JDBC_SQL注入_PreparedStatement的使用

(1) 简述你对Statement和PreparedStatement的理解

当我们使用java程序来操作sql server时会使用到Statement和PreparedStatement,俩者都可以用于把sql语句从java程序中发送到指定数据库,并执行sql语句

(2) 什么是SQL注入, 如何避免SQL注入?

PreparedStatement还能有效的防止危险字符的注入,也就是sql注入的问题。

10. JDBC_DBUtil封装PreparedStatement

(1) PreparedStatement相比Statement有什么好处?

5f1d9f30bd1c5b0d63c880bb3362581a.png

(2) 如何封装PreparedStatement?

11. JDBC_使用Properties优化DBUtil

(1) 什么是Properties? 有什么特点?

存储驱动、URL、用户名、密码的文件,后期只需要修改配置文件就可以,不用修改代码。

(2) java中如何读取Properties中的数据?

使用ResourceBundle来获取相关数据。

6baf0b37277b7a25090f265776352bf2.png

12. JDBC_使用Statement插入大量数据

(1) 使用jdbc连接数据库时, 有什么注意事项?

1、jdbc.properties里面的value字段没有引号

2、加载驱动的时候,获取资源包名字的时候,路径不要写错,路径是以src为相对路径的

3、实例化JDBCUtil的时候不能赋初值null否则会报空指针

4、还有一个地方需要注意的是在向结果集中取数据的时候,每取出一行数据,然后就要封装为一个对象,然后紧接着就应该将封装好的对象加入到对象集中去
而不是等到while循环遍历完了,再将最后一个对象加入到结果集中

(2) 当写入大量数据时, JDBC操作要注意什么?

首先大量插入数据肯定是需要插入数组的,所以我们定义一个方法形参为数组

7b75fbd23fc785b4ded3998d9083f3ef.png

然后是通用操作,创建Connection对象,通过Connection对象的方法创建PreparedStatement对象并定义sql语句,创建for循环,为每一个Department对象赋值,进行批量处理,最后调用executeBatch()方法对数据库进行操作

916c89b0663791392d5987531f0fa333.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值