本文介绍的是Java链接数据库中的JDBC操作,JDBC虽然现在用的不多,但面试的时候会问道。需要有相应的了解。下面以链接MySQL为例子。
JDBC
什么jdbc
Java DataBase Connectivity是一种用于执行SQL语句的Java API,它由一组用Java语言编写的类和接口组成。通过这些类和接口,JDBC把SQL语句发送给不同类型的数据库进行处理并接收处理结果。
jdbc的作用
提供java 操作不同数据库的技术
JDBC两大类
对Java开发人员而言是API,对数据库提供商而言是接口。
面向开发人员:作为API,JDBC为程序开发提供标准的接口。
面向数据库厂商:作为接口,让数据库厂商按标准方法来实现数据库连接与操作(数据库驱动程序)。
JDBC工作流程
JDBC链接数据库
1.下载jar包
来到MySQL官网选择
然后点击
选择Java版本的驱动选择其他
然后选择对应的Version版本,我用的5.7的Java版本,所有下载的5.1.48的,两个任意下载
下载完毕后解压
在项目中导入,我新建了一个lib文件夹,将解压的文件放里面。
然后将包导入,在5.1.49文件右击鼠标,
选择
然后一直确定即可完成导入。
2.数据库的链接
新建一个department表
3.创建department的实体类,用于传递数据输出
public class Department {
private int id;
private String name;
// 部门
private int number;
// 人数
private int count;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
@Override
public String toString() {
return "Department{" +
"id=" + id +
", name='" + name + '\'' +
", number=" + number +
", count=" + count +
'}';
}
}
4.链接查询数据
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class dome_select {
public static void main(String[] args) {
// 1.加载驱动
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
// 2.获取链接
Connection con = null;
Statement st = null;
ResultSet rs = null;
try {
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","123456");
// 获取st对象
st = con.createStatement();
// 查询数据
String sql = "select * from department";
rs = st.executeQuery(sql);
// 定义存储数据的集合
List<Department> list = new ArrayList<Department>();
Department department = null;
while (rs.next()){
department = new Department();
department.setId(rs.getInt("id"));
department.setName(rs.getString("name"));
department.setNumber(rs.getInt("number"));
department.setCount(rs.getInt("count"));
list.add(department);
}
System.out.println(list);
} catch (SQLException throwables) {
throwables.printStackTrace();
}finally {
// 关闭rs
if (rs!=null){
try {
rs.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
// 关闭st
if (st!=null){
try {
st.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
// 关闭con
if (con!=null){
try {
con.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
}
}
}
}