一、JDBC简述:
1、JDBC(java database connectivity):由一组java语言编写的类和接口组成;(java)操作数据库的一套规范。
2、JDBC与数据库驱动(mysql类,oracle类)的关系:接口与实现的关系。
二、JDBC的四个核心对象:
DriverManager类:注册驱动;
Connection类: 表示指向数据库创建的连接;
Statement类: 操作数据库sql语句的对象;
ResultSet类: 返回结果集或一张虚拟表(客户端存表数据)。
三、JDBC程序的实现
1、数据库创建
2、创建java project,并添加数据库驱动.jar文件
3、JDBC关键部分:
四、JDBC常用接口、类的应用
1、DriverManager类,java.sql.DriverManager
//注册驱动
法一:DriverManager.registerDriver(newcom.mysql.jdbc.Driver());
法二:Class.forName("com.mysql.jdbc.Driver");
2、Connection类,java.sql.Connection
getConnection(url,user,password);
//创建连接,DriverManager类调用getConnection方法
Connection conn = DriverManager.getConnection(url,user,password);
注:url 即为jdbc:mysql://localhost:3306/xxx( 协议 子协议 IP:端口号 数据库)
3、(1)Statement类,java.sql.Statement
//创建操作数据库sql语句的对象,调用createStatement方法
Statement stmt = conn.createStatement();
(2) SQL注入问题:preparedStatement,由方法prepareStatement所创建
preparedStatement:预编译对象, 是Statement对象的子类。
特点:
性能要高
会把sql语句先编译
sql语句中的参数会发生变化,过滤掉用户输入的关键字。java.sql.PreparedStatement,应用如下:
.set类型(第几个问号,问号等于的内容)
4、ResultSet 类, java.sql.ResultSet
ResultSet-- executeQuery(sql);//执行select语句
int-- executeUpdate(sql);//根据执行的DML(insert update delete)语句,返回受影响的行数。(CRUD 的实现详见五)
boolean --execute();//仅当执行的是select语句,且有结果集时才返回true
//返回结果集
ResultSet rs =stmt.executeQuery(sql)
5、结果集的封装处理
封装数据的方法
Object getObject(int columnIndex); 根据序号取值,索引从1开始
Object getObject(String ColomnName); 根据列名取值。
五、有关程序应用
1、关闭资源
资源有限,正确关闭;
注:异常处理:try catch,快捷键:shift+alt+z
2、获得连接的方法
注:此对象用于加载properties文件(下图为文件内容)
ResourceBundle rb = ResourceBundle.getBundle("文件名");//绑定资源
3、CRUD的实现:
数据库创作中的创建、读取、更新、删除
注:JUnit测试
@是注解
@Test注解是JUnit测试的基础,它提供了其他作用
指定将会抛出的异常类型,如果没有抛出异常或者抛出的异常不属于我们指定的类型,就会算是测试失败了。
测试一断代码运行时间。