他的回复:
华为云wangbbbccc第二周笔记一、JDBC概述和接口 JDBC是(Java DataBase Connectivity)Java访问数据库的标准规范,真正怎么操作数据库还需要具体的实现类,也就是数据库驱动; 每个数据库厂商根据自家数据库的通信格式编写好自己数据库的驱动;所以我们只需要会调用JDBC接口中的方法即可,数据库驱动由数据库厂商提供。 使用JDBC的好处程序员如果要开发访问数据库的程序,只需要会调用JDBC接口中的方法即可,不用关注类是如何实现的。 使用同一套Java代码,进行少量的修改就可以访问其他JDBC支持的数据库。 二、使用JDBC开发使用到的包 java.sql->所有与JDBC访问数据库相关的接口和类 javax.sql->数据库扩展包,提供数据库额外的功能,如:连接池 数据库的驱动->由各大数据库厂商提供,需要额外去下载,是对JDBC接口实现的类 三、数据库连接池 其实就是一个容器,存放数据库连接的容器. 当系统初始化好后,这个容器就会被创建,在容器中会申请一些连接对象 当用户来访问数据库时,就会从容器中获取连接对象 当用户访问完之后,会将连接对象归还给容器. 四、JDBC的核心API DriverManager 类 1.管理和注册数据库驱动;2.得到数据库连接对象; Connection 接口 一个连接对象,可用于创建statement和PreparedStatement对象 Statement 接口 一个SQL语句对象,用于将SQL语句发送给数据库服务器。 PreparedStatement 接口 一个SQL语句对象,是Statement的子接口。 ResultSet 接口 用于封装数据库查询的接口集,返回给客户端Java程序 五、JDBC对象之DriverManager:驱动管理器 注册驱动:这可以让JDBC知道要使用的是哪个驱动 获取Connection:如果可以获取到Connection,那么说明已经与数据库连接上了。 创建连接:DriverManager负责驱动程序管理,数据库驱动则是为了应用程序服务的,所以DricerManager的重要任务就是提供连接的获取。 驱动程序查找:DriverManager管理驱动程序,不仅仅提供了借助于驱动程序创建连接的能力,还能够返回给定的Driver或者Driver列表。 六、JDBC对象之Connection 表示连接,与数据库的通讯都是通过这个对象展开的,用来获取Statement对象。 执行对象:用于将SQL语句发送到数据库中,执行对象有3种 因为 DML 和 DQL都有专门的执行方法,所以该方法通常用来指定DDL 1. 执行更新操作(insert、update、delete等):`.int executeUpdate(String sql)` 只能执行DML 返回值: 表示影响了几行 3. 执行查询操作:`.ResultSet executeQuery(String sql)`,数据库在执行查询后会把查询结果返回,查询结果就是ResultSet -只能执行DQL 返回值: 查询出来的结果集 4. oolean next():游标向下移动一行:判断当前行是否是最后一行(是否有数据) 如果是,则返回false,如果不是则返回true 5. getxxx(参数): 获取数据,xxx:代表数据类型 参数: 1. int: 代表列的编号,从1开始 -> getString(1) 2. String: 代表列的名字. -> getDouble("name"); 使用步骤: 1. 将游标向下移动一行 2. 判断是否有数据 3. 获取数据 七、执行对象有3种 1. Statement继承自Wrapper 2. PreparedStatement继承自Statement 3. CallableStatement继承自PreparedStatement 区别与联系 Statement接口:提供了执行语句和获取结果的基本方法 使用场景:普通的不带参的查询SQL(带参数可能会造成SQL注入攻击) PreparedStatement接口:添加了处理输入参数的方法 使用场景:支持可变参数的SQL CallableStatement接口:添加了调用存储过程函数以及处理输出参数的方法 使用场景:支持调用存储过程,提供了对输出和输入/输出参数的支持。 这三种执行对象,都是为执行SQL而生,所以他们的重中之重全都是执行SQL。