准备工作

学习前,我们需要预先下载并配置Eclipse,jdk1.8 ,MySQL

jdbc下载与加载

jdbc 8.0.16下载网址:https://dev.mysql.com/downloads/connector/j/
1

下载解压完后我们打开eclipse,并新建一个java项目,然后右键点击项目–配置路径—配置构建路径:
2
3
4
5
6

然后应用并关闭即可。

JDBC的核心API

Driver接口: 数据库驱动程序的接口,所有具体数据库厂商需要的驱动程序需要实现次接口。
Connection connect(String url, Properties info) 用于获取数据库连接。

Connection接口: 与具体的数据库的连接对象。
Statement createStatement() 创建一个静态sql语句对象
PreparedStatement prepareStatement(String sql) 创建预编译的sql语句对象
CallableStatement prepareCall(String sql) 创建存储过程的sql语句对象

Statement接口: 用于执行静态 SQL 语句
int executeUpdate(String sql) 执行更新操作的sql语句 (create/alter/drop/insert/update/delete)
ResultSet executeQuery(String sql) 执行查询操作的sql语句
(select)

——PreparedStatement接口: 用于执行预编译的 SQL 语句(是Statement的子接口)
int executeUpdate() 执行更新操作的sql语句
ResultSet executeQuery() 执行查询操作的sql语句

————CallableStatement接口: 用于执行 SQL 存储过程的接口(是PreparedStatement的子 接口)
ResultSet executeQuery() 执行存储过程的sql语句

ResultSet接口: 结果集对象。 存储所有数据库查询的结果,用该对象进行数据遍历。
boolean next() : 把光标移动到下一行。如果下一行有数据,返回true,如果没有下一行数 据,返回false。
getXXX(列索引|列字段名称): 获取字段的数据

连接数据库

现有数据库test,表grade,具体如下:

7

我们尝试用java连接数据库,代码如下:

//java连接数据库读取表

package jdbc1;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.SQLException;

public class Table {
	public static void main(String[] args) {
		Connection conn = null; // 声明数据库连接对象
		String driver = "com.mysql.cj.jdbc.Driver";// 加载数据库驱动
		String url = "jdbc:MySQL://localhost:3306/test?serverTimezone=GMT%2B8";

		String username = "root";
		String password = "524211";
		try {
			Class.forName(driver);// 加载数据库驱动

			conn = DriverManager.getConnection(url, username, password);
			if (!conn.isClosed())
				System.out.println("连接成功");
			// 创建statement类对象
			Statement s = conn.createStatement();

			String sql = "select * from grade";
			// ResultSet类,用来存放获取的结果集
			ResultSet rs = s.executeQuery(sql);
			System.out.println("----------------------------------------------------------------------");
			System.out.println("载入图表如下:");
			System.out.println("----------------------------------------------------------------------");
			System.out.println("id" + "\t" + "name" + "\t" + "gender" + "\t" + "school" + "\t" + "english" + "\t"
					+ "chinese" + "\t" + "math" + "\t" + "sciense");
			System.out.println("----------------------------------------------------------------------");

			String Id = null;
			String Name = null;
			String Gender = null;
			String School = null;
			String English = null;
			String Chinese = null;
			String Math = null;
			String Sciense = null;

			while (rs.next()) {

				Id = rs.getString("id");

				Name = rs.getString("name");

				Gender = rs.getString("gender");

				School = rs.getString("school");

				English = rs.getString("english");

				Chinese = rs.getString("chinese");

				Math = rs.getString("math");

				Sciense = rs.getString("sciense");

				// 输出结果
				System.out.println(Id + "\t" + Name + "\t" + Gender + "\t" + School + "\t" + English + "\t" + Chinese
						+ "\t" + Math + "\t" + Sciense);
			}
			rs.close();
			conn.close();
		} catch (ClassNotFoundException e) {
			// 数据库驱动类异常处理
			System.out.println("数据库驱动加载失败");
			e.printStackTrace();
		} catch (SQLException e1) {
			// 数据库连接失败异常处理
			e1.printStackTrace();
		} catch (Exception e2) {
			e2.printStackTrace();
		} finally {
			System.out.println("-----------------------------------------------------------------------");
			System.out.println("数据库数据获取成功");
		}
	}
}

运行结果如下所示:

8

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐