JDBC原理
JDBC是什么:
Java Database Connectivity:Java访问数据库的解决方案
JDBC是Java应用程序访问数据库的里程碑式解决方案。Java研发者希望用相同的方式访问不同的数据库,以实现与具体数据库无关的Java操作界面。
JDBC定义了一套标准接口,即访问数据库的通用API,不同的数据库厂商根据各自数据库的特点去实现这些接口。
JDBC只定义接口,具体实现由各个数据库厂商负责。
程序员使用时只需要调用接口,实际调用的是底层数据库厂商的实现部分。
图-2 通过JDBC访问数据库的过程
JDBC访问数据库的工作过程:
- 加载驱动,建立连接
- 创建语句对象
- 执行SQL语句
- 处理结果集
- 关闭连接
JDBC连接mysql 数据库基本步骤如下:
1.. Class.forName("com.mysql.jdbc.Driver";//加载mysql 驱动类。
2.通过DriverManager类创建连接。基本如下
Connection conn=DriverManager.getConnection("url","username","pwd");
url:连接数据库地址,如果是本地数据库 基本
jdbc:mysql://localhost:3306/emplist 主机名:端口号/数据库名
username:就是进入mysql 数据库的用户名
pwd:就是密码
基本就可以连接数据库了。
3.Statement接口用来处理发送到数据库的SQL语句对象,通过Connection对象创建。主要有三个常用方法:
Statement stems=conn.createSatement()
//1.execute方法,如果执行的sql是查询语句且有结果集则返回true,如果是非查询语句或者没有结果集,返回false
2.boolean flag = stems.execute(sql);
//2.excuteuapdate方法,执行的DML语句,则返回时影响的记录数
int i= stems.executeUpdate(sql)
//3.executeQuery方法,执行的DQL语句,则返回结果集的
ResutlSet rs=stems.executeQuery(sql);
4.ResultSet接口
执行DQL查询语句是有ResultSet接口接收的,
常用处理方式:遍历/判断是否有结果:
例:String sql= "select * from emp";
ResultSet rs=stems.exceuteQuery(sql
while (rs.next()) {
System.out.println(rs.getInt("empno")+"
+rs.getString("ename") );
}
查询的结果存放在ResultSet对象的一系列行中,指针的最初位置在行首,使用next()方法用来在行间移动,getXXX()方法用来取得字段的内容