前言
java基础知识和数据库基础知识学完之后,就可以入门JDBC了。
什么是JDBC?Java Database Connectivity,是sun公司设定的一套数据库标准,它只是规范,不做具体实现。数据库厂商根据JDBC标准,实现自家的驱动Driver。如:mysql驱动com.mysql.cj.jdbc.Driver,Oracle的驱动oracle.jdbc.OracleDriver。有了这套解决方案,java就可以访问数据库中的数据了。
使用步骤
1. 正确导入jar包
2. 获取和数据库的连接(用户名、密码)
3. 通过程序执行SQL
4. 通过程序处理结果
首先第一步导入jar包,学习使用的java版本是java8,具体版本号是1.8.0_311,jar包用的mysql-connector-java-8.0.24。将jar包复制到需要用到jdbc的项目目录里
右键该包,Add as Library,添加为lib,成功后便可以尝试了~
第二至四步直接贴代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
/**
* 利用jdbc操作数据库
*/
public class TestJDBC01 {
public static void main(String[] args) throws Exception{
// 1. 注册驱动
//Class.forName("com.mysql.jdbc.Driver");
// 2. 获取数据库链接
//String url = "jdbc:mysql://127.0.0.1:3306/cgb2111";
String url = "jdbc:mysql://localhost:3306/cgb2111";
Connection c = DriverManager.getConnection(url, "root", "root");
// 3. 获取传输器
Statement s = c.createStatement();
// 4. 执行sql
ResultSet r = s.executeQuery("SELECT * FROM dept;");
// 5. 处理结果
while(r.next()){
System.out.print(r.getInt(1)+",");
System.out.print("\t"+r.getString(2)+",");
System.out.println("\t"+r.getString(3));
}
// 6. 关闭资源
r.close();
s.close();
c.close();
}
}
第二步获取和数据库的连接对应代码注释里的123
·注册驱动里,较低版本的jar包(例如5)要输入:
Class.forName("com.mysql.jdbc.Driver");
不过较高版本(例如我们用的8),输入该行语句控制台会输出:
Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
提示我们应该用com.mysql.cj.jdbc.Driver,且会自动帮我们注册,所以这行语句注释掉也可以。
·获取连接器:
Connection c = DriverManager.getConnection(url, "root", "root");
url由 协议://ip:端口号/数据库名 构成,其中ip用localhost或者127.0.0.1都可,代表本机ip地址。
参数2和3分别代表数据库的账号密码,这里为了学习方便都设置的root
·获取传输器:
Statement s = c.createStatement();
执行sql语句都要通过传输器s。
第三步执行SQL对应代码注释里的4
ResultSet r = s.executeQuery("SELECT * FROM dept;");
通过s的executeQuery方法执行sql语句(即参数),获得的结果是一个set存放到r里。
第四步处理结果对应5,这里只是简单的遍历集合r获取数据并打印出来了(毕竟知识初尝试,这样就可以了)。