JDBC
JDBC:
概述:
Java Data Base Connectivity,Java数据库连接
就是Java代码操作不同数据库(DBMS)。
JDBC就是Java定义的用来操作不同数据库的规范,本质就是一些接口和类。
#####接口:
Driver(驱动),connection(数据库连接对象),statement(SQL操作对象),perparestatement(具有预编译的SQL操作对象),resultset(获取执行数据局的结构集)
##### 类:
drivernanager(用来管理数据库中的所有驱动程序)
核心功能:
- 连接数据库。
- 向数据库发送指令(SQL语句)。
- 操作数据库返回的:结果集。
1、如果执行时更新语句,返回值是:int
2、如果执行的查询语句,返回的结果集是:Resultset 类型
2、什么是驱动?
就是设备之间进行通信的桥梁。
3、JDBC的原理
提供了统一的规范就是类和接口的规范,统一了驱动。
JDBC原理图解:
4、JDBC代码演示:
A:创建一个数据库。
B:在数据库中创建一个表
C:往数据表中添加数据。
D:通过JDBC操作数据。
1、注入驱动
2、注册驱动
3、获取连接对象
4、根据连接对象获取执行SQL语句的对象。
5、执行SQL语句,获得结果集。
6、操作结果集。
7、释放资源。
5、JDBC的API详解之:DriverManager(类)
作用:主要用于驱动管理及获取连接对象。
作用1:注册驱动。
public static void registerDrtver (Driver driver)( MySQL的驱动或是Oracle的驱动); 注册驱动的意思,
形参是谁的驱动就注册谁。
Driver类就是MySQL数据库提供的 驱动类
publc class com.mysql.jdbc.Driver implenents java,sql,driver(){}
记忆:
实际开发中,我们不用上述的方式注册驱动,因为上述注册的方式会导致驱动程序注册两次。
所以:我们通过反射的方式加载com。MySQL。jdbc。driver 类的字节码文件,从而来自动注册驱动。
class。forName(“com。MySQL。jdbc。driver”); 驱动的全路径
作用2:获取连接对象。
public static Connection getConnection(String url , string username , string password ); 获取连接对象
url: 数据库连接字符串。
格式:
协议:子协议要操作的DBMS: // 要操作的数据的IP地址或者主机名:端口号 / 要操作的具体的数据库
例如:
jdbc:mysql: // 127.0.0.1:3306 / bin
jdbc:mysql : localhost:3306 / bin
如果操作的是本地数据库(DBMS),上述的写法可以优化为:
jdbc:mysql:/// bin
username : 要操作的数据库(DBMS)的账号
password:要操作的数据库(DBMS)的密码
6、JDBC的API详解值:Connection(接口)
作用一:获取可以执行的SQL语句的对象。
public statement createStatement(); 获取可以执行的SQL语句的对象。
public preparedstatement prepareStatment(string sql) 获取可以执行SQL语句的对象。 它是createstatement的子接口。
具有预编译功能,可以解决SQL注入攻击问题。
作用二:可以进行事务管理。
7、JDBC的API详解值:statement(接口)
statement :可以操作SQL语句的对象。
作用一:执行SQL语句
public resultset executeQuery(string sql); 执行查询语句。
public int executeUpdate(string sql); 执行更新语句。
作用二:可以执行此处理。
8、JDBC的API详解之:resultset(接口)
resultset:执行查询语句后的结果集对象。
public Boolean next(); 判断结果集中是否还有数据。 类似于iterator 的hasnext()
pubic xxx getxxx(int columnIndex);根据列的编号获取列的信息。
public xxx getxxx (string columName);根据列的名字,获取该列的信息。