一、介绍JDBC的工作原理
什么是JDBC?
JDBC(Java Data Base Connectivity)是Java专门用来操作各种数据库的API。
Java编写的程序代码通过使用JDBC提供的API可以连接并操作数据库。
JDBC常用的操作:
与一个数据库建立连接
向已经连接的数据库发送SQL语句
处理SQL语句返回的结果
Java编写的应用程序连接数据库的方式(工作原理)?——调用JDBC-数据库驱动
JDBC通过加载调用JDBC-数据库驱动,该驱动是java语言编写的,即可连接数据库。
连接不同的数据库使用不同的数据库驱动:JDBC-Oracle驱动、JDBC-SQL Server驱动、JDBC-MySQL驱动
二、Java连接数据库MySQL步骤及代码
三剑客:
Connection con ; 连接对象
Statement sql ; sql执行对象
ResultSet rs ; 返回结果集对象
连接 + 操作 数据库的步骤:
1、先加载数据库驱动
2、有了驱动就可以连接数据库了,即创建了连接对象con
3、有了连接对象con就可以创建SQL对象了
4、sql对象可以调用方法(查询、更新、插入、删除)操作数据库了、查询结果存放在ResultSet类中
5、输出结果到终端查看,rs结果集每次只能查看一行的数据,使用getXXXX()函数获取该行每一列数据,特别注意:要必须使用next(),不然会报错:before start of result set
6、关闭连接对象
import java.sql.*;
public class TestMySQL {
public static void main(String[] args) throws SQLException, ClassNotFoundException {
//1、先加载数据库驱动
Class.forName("com.mysql.jdbc.Driver");
//2、有了驱动就可以连接数据库了,即创建了连接对象con
Connection con = null; //连接数据库的对象
String uri = "jdbc:mysql://localhost:3306/studentinfo?useSSL=true";
String user = "root";
String password = "123456";
con= DriverManager.getConnection(uri,user,password); //使用驱动创建连接获取一个连接对象
//3、有了连接对象con就可以创建SQL对象了
Statement sql ; //操作数据库的对象
sql = con.createStatement(); //使用连接对象创建SQL对象
//4、sql对象可以调用方法操作数据库了、查询结果存放在ResultSet类中
ResultSet rs = sql.executeQuery("select * from student");
//5、输出结果到终端查看,rs结果集每次只能查看一行的数据,使用getXXXX()函数获取该行每一列数据
while (rs.next()){
String name=rs.getString(1);
int english=rs.getInt(2);
int math=rs.getInt(3);
int computer=rs.getInt(4);
System.out.println(name+" "+english+" "+math+" "+computer);
}
//6、添加数据
sql.execute("insert into student values ('scofield','45','89','100')");
//7、获取Scofield的英语成绩
ResultSet englishGrade = sql.executeQuery("select English from student where Name='scofield'");
//特别注意:哪怕返回结果只有一条数据也要使用next(),不然会报错:before start of result set
if(englishGrade.next()){
System.out.println("scofield的英语成绩:"+englishGrade.getString(1));
}
//8、关闭连接对象
con.close();
}
}