JDBC
JDBC的概念
Java DataBase Connectivity, java数据库连接,java语言操作数据库。
JDBC的本质:
希望可以有一套统一的代码来操作所有的关系型数据库,因此产生了JDBC,定义了操作所有的关系型数据库的规则(接口),但是规则(接口)没有办法实现对数据库的操作,所以,各个数据库厂商去实现这套接口,提供数据库jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。
程序员----> 代码 ---->数据库
JDBC的使用步骤
- 导入驱动jar包
- 注册驱动
- 获取数据库连接对象 Connection
- 定义sql
- 获取执行sql语句的对象,statement
- 执行sql,接受返回的结果
- 处理结果
- 释放资源
1.导入驱动jar包
创建一个lib文件夹(方便管理),把mysql的jar包复制到文件夹下。
选择add as library 导入jar包,至此位置第一步算是完成了。
2.注册驱动
注册驱动的第一种方式:
//DriverManager:
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
注册驱动的第二种方式,使用反射加载字节码文件。
Class.forName("com.mysql.jdbc.Driver");
3.获取数据库连接对象Connection:
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/test","root","root");
4.定义一个sql语
String sql = "SELECT * FROM dept";
5. 获取执行sql语句的对象,statement
Statement stmt = con.createStatement();
6. 执行sql,接受返回的结果
ResultSet rs = stmt.executeQuery(sql);
7. 处理结果
while (rs.next()){
int deptno = rs.getInt("DEPTNO");
String dname = rs.getString("DNAME");
String loc = rs.getString("LOC");
System.out.println("deptno:" + deptno +"==" +"dname:"+ dname +"=="+ "loc:" + loc);
}
8. 释放资源
rs.close();
完整代码:
import java.sql.*;
public class JDBCdemo {
public static void main(String[] args) {
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
//1.注册驱动
try {
//2.连接数据库
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
// "jdbc:mysql://localhost/test?" +
// "user=monty&password=greatsqldb"
con = DriverManager.getConnection("jdbc:mysql://localhost/day09","root","root");
//3.创建statement对象
stmt = con.createStatement();
//4.执行查询得到结果
rs = stmt.executeQuery("SELECT * FROM dept");
while (rs.next()){
int deptno = rs.getInt("DEPTNO");
String dname = rs.getString("DNAME");
String loc = rs.getString("LOC");
System.out.println("deptno:" + deptno +"==" +"dname:"+ dname +"=="+ "loc:" + loc);
}
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
执行结果: