JDBC简介
Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。
代码示例
SQL语句
在SQLyog中创建了三张表,student,course,sc
CREATE DATABASE db_stu_cour;
USE db_stu_cour;
-- 学生表
CREATE TABLE student(
Sno INT PRIMARY KEY AUTO_INCREMENT,
Sname VARCHAR(30),
Ssex VARCHAR(10),
Sage INT,
Sdept VARCHAR(30)
);
INSERT INTO student VALUES
(201215121,'李勇','男',20,'CS'),
(201215122,'刘晨','女',19,'CS'),
(201215123,'王敏','女',18,'MA'),
(201215125,'张立','男',19,'IS');
-- 课程表
CREATE TABLE course(
Cno INT PRIMARY KEY AUTO_INCREMENT,
Cname VARCHAR(10),
Cpno INT,
Ccredit INT
);
INSERT INTO course VALUES
(NULL,'数据库',5,4),
(NULL,'数学',NULL,2),
(NULL,'信息系统',1,4),
(NULL,'操作系统',6,3),
(NULL,'数据结构',7,4),
(NULL,'数据处理',NULL,2),
(NULL,'PASCAL语言',6,4);
-- 学生选课表
CREATE TABLE sc(
Sno INT,
CONSTRAINT sc_fk1 FOREIGN KEY (Sno) REFERENCES student(Sno),
Cno INT,
CONSTRAINT sc_fk2 FOREIGN KEY (Cno) REFERENCES course(Cno),
Grade INT
);
INSERT INTO sc VALUES
(201215121,1,92),
(201215121,2,85),
(201215121,3,88),
(201215122,2,90),
(201215122,3,80);
JDBC部分
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class JdbcDemo1 {
public static void main(String[] args) throws Exception{
//1.导入jar包
//在模块中建立libs文件夹,导入jar包
//2.注册驱动
//mysql5之后可以不用手动注册驱动
Class.forName("com.mysql.jdbc.Driver");
//3.获取数据库连接对象
//static Connection getConnection(String url, String user, String password);
//该方法返回一个Connection数据库连接对象
Connection con = DriverManager.getConnection("jdbc:mysql://192.168.23.129:3306/db_stu_cour","root","root1999");
//4.获取执行者对象
//此处Statement createStatement();为获取普通的执行者对象
Statement stat = con.createStatement();
//5.通过执行者对象执行sql语句
//sql语句
String sql = "SELECT * FROM student";
//通过执行者调用查询方法,即DML语句,executeUpdate(String sql)
// 或增删改方法,即DQL语句,executeQuery(String sql)
ResultSet rs = stat.executeQuery(sql);
//6.从ResultSet对象中提取结果
//XXX getXxx("列名");
//String getString("name");
// int getInt("age");
while(rs.next()){
//String s = rs.getString();
System.out.println(rs.getInt("Sno") + "\t" + rs.getString("Sname") + "\t"
+ rs.getString("Ssex") + "\t" + rs.getInt("Sage") + "\t"
+ rs.getString("Sdept")
);
}
//7.调用close()释放资源
con.close();
stat.close();
rs.close();
}
}
查询结果
总结
实质上,JDBC就是Java官方提供一套用于Java语言与不同种类数据库进行连接,共同工作的一套规范