a. 在pom.xml 增加 依赖 mysql-connector-java依赖
b. 编写 实体类, 按照 数据库表 生成对应的 类
数据库类型 java 类型
int int
varchar String
datetime java.util.Date
注意事项: 属性名 采用 驼峰式命名法
实体类 要求采用 封装的写法(属性私有,get/set方法)
实体类要求有 无参及全参构造
实体类要 重写 toString()
c. 连接数据库
将 数据库中的数据 在 idea 控制台进行 显示
1. 将数据库表 映射成 类 , 表 dept(id,name) ----> 类 Dept(id,name)
2. 对Dept的属性 进行 封装, get/set/ 构造方法 , toString()
3. 编写类 建立数据库的连接,通过该连接进行 查询
a. 定义 4个变量,
b. 加载 驱动--- 5.0 与 8.0 区别
c. 获得数据库的连接对象 Connection
d. 根据Connection对象获得Statement 对象
e. 根据 Statement 获得 ResultSet对象
f. 编写sql
g. 为 Statement 对象 赋值
h. 为 ResultSet对象 赋值, 注意,
只有查询语句 采用 executeQuery();
k. 数据 都存放在 ResultSet 对象中
因为查询的结果有多条, 因此 使用while遍历
rs.next() // 判断是否还有下一条记录
rs.getXXXXX("列名");
列名 是 数据库 表里的
属性 是 java 类里的,
i: 关闭 所有
关闭的顺序 与 使用的顺序 相反
package entity;
/**
* 部门类
*/
public class Dept {
private int id; // 部门编号
private String name;//部门名称
public Dept() {
}
public Dept(int id, String name) {
this.id = id;
this.name = name;
}
@Override
public String toString() {
return "Dept{" +
"id=" + id +
", name='" + name + '\'' +
'}';
}
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;
}
}
package util;
import java.sql.*;
/**
* 连接数据库的工具类
*/
public class DBUtils {
/**
* 测试数据库连接
*/
public void testConn() throws Exception {
String username= "root"; //用户名
String password = "密码";// 密码
String url="jdbc:mysql://localhost:3306/数据库名";// 数据库的连接地址
String driver = "com.mysql.cj.jdbc.Driver"; // 注意 8-5.5 写法不同
//利用 java 反射机制 获得数据库的连接
Class.forName(driver); // 加载驱动
Connection connection = DriverManager.getConnection(url,username,password);// 获得数据库的连接对象
Statement statement = null;
ResultSet rs = null;
// 编写查询sql
String sql = "select * from dept";
if (connection !=null){
statement = connection.createStatement(); // 获得 Statement对象
rs = statement.executeQuery(sql); // 执行 sql,进行 查询
// 因为 sql的执行结果有 多个, 因此 采用 循环的方式 逐行获取
while(rs.next()){
int id = rs.getInt("id");
String name = rs.getString("name");
System.out.println("编号-------"+id+"-------部门名称----"+name);
}
}
// 关闭连接
if(rs !=null){
rs.close();
}
if(statement!=null){
statement.close();
}
if(connection !=null){
connection.close(); //关闭连接
}
System.out.println("-----查询执行完毕-----");
}
}
package com.ly;
import org.junit.Test;
import util.DBUtils;
public class TestA {
@Test
public void a2(){
DBUtils dbUtils = new DBUtils();
try{
dbUtils.testConn();
}catch (Exception e){
System.out.println("-----"+e.getMessage());
}
}
}