所有实例均在我的github私有仓库内
JDBC(Java Database Connectivity)是一个java api,可以用来访问任何类型的表列数据,尤其是关系型数据库。我正在使用的就是mysql。
一、建立java工程,导入jar包。
在项目底下新建包libs,将mysql的驱动jar包放入。jar包可以去网上下载,要是以前使用过,可以在用户目录下的.m2文件夹内找到。
导入jar包后,需要我们手动将jar包添加至路径内,ctrl+alt+shift+s打开project structure。点击加号,找到jar包之后,点击apply,即可导入jar包。如果想删除jar包,点击减号,可以将jar包导出。
至此jar包导入完成。
二、简单程序
建立一个新的数据库test,新建一张表employees。
打开cmd,进入mysql。执行下列语句,即可建立。
create database test;
use test;
create table employees(
id int primary key not null auto_increment,
name varchar(45) not null,
age int not null
);
执行完成之后可以使用desc employees;
查看表结构,如图。
在表中插入几条数据
insert into employees(name,age)
values('Jenny','34'),
('Bob','35'),
('Amy', '33'),
('Grace', '23'),
( 'Earl', '45'),
('Bill', '25');
初始化jdbc驱动
Class.forName(JDBC_DRIVER);
创建连接对象
Connection conn = DriverManager.getConnection(DB_URL,user,password);
执行一条sql语句
Statement stmt = conn.createStatement();
String sql = "SELECT * FROM employees";
查看查询结果,从结果集里取出数据。
while (rs.next()){
int id = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");S
System.out.println("id: " + id +" ,name: " + name + " ,age: " + age);
}
rs.close();
stmt.close();
conn.close();
大致代码如下
import java.sql.*;
/**
* @author:Aurevoir
* @date: 2020/2/1 12:17
*/
public class FirstExample {
static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC";
//为了防止出现时区错误
static final String user = "你自己的用户名";
static final String password = "你自己的密码";
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try{
//注册驱动
Class.forName(JDBC_DRIVER);
System.out.println("Connecting to database...");
Connection conn = DriverManager.getConnection(DB_URL,user,password);
System.out.println("Creating statement");
Statement stmt = conn.createStatement();
String sql = "SELECT * FROM employees";
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()){
int id = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
System.out.println("id: " + id +" ,name: " + name + " ,age: " + age);
}
rs.close();
stmt.close();
conn.close();
}catch (SQLException se){
se.printStackTrace();
}catch (Exception e){
e.printStackTrace();
}finally {
try{
if(stmt != null)
stmt.close();
}catch (SQLException se2){
se2.printStackTrace();
}
}
System.out.println("BYE!");
}
}
执行后结果如下
Connecting to database...
Creating statement
id: 1 ,name: Jenny ,age: 34
id: 2 ,name: Bob ,age: 35
id: 3 ,name: Amy ,age: 33
id: 4 ,name: Grace ,age: 23
id: 5 ,name: Earl ,age: 45
id: 6 ,name: Bill ,age: 25
BYE!