数据表
Navicat中待调用的数据表,本数据库名zqy:
数据库新建查询,并在essay表插入10条数据:
-- 创建表 tb_essay
CREATE TABLE IF NOT EXISTS tb_essay (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Title VARCHAR(255) NOT NULL UNIQUE,
Content LONGTEXT NOT NULL,
Pub_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);
INSERT INTO tb_essay (Title, Content, Pub_time)
VALUES
('第一篇文章', '这是第一篇文章的内容。', '2024-04-23 04:30:56'),
('第二篇文章', '这是第二篇文章的内容。', '2024-04-23 04:30:56'),
('第三篇文章', '这是第三篇文章的内容。', '2024-04-23 04:30:56'),
('第四篇文章', '这是第四篇文章的内容。', '2024-04-23 04:30:56'),
('第五篇文章', '这是第五篇文章的内容。', '2024-04-23 04:30:56'),
('第六篇文章', '这是第六篇文章的内容。', '2024-04-23 04:30:56'),
('第七篇文章', '这是第七篇文章的内容。', '2024-04-23 04:30:56'),
('第八篇文章', '这是第八篇文章的内容。', '2024-04-23 04:30:56'),
('第九篇文章', '这是第九篇文章的内容。', '2024-04-23 04:30:56'),
('第十篇文章', '这是第十篇文章的内容。', '2024-04-23 04:30:56');
JAVA实现
原理
此处使用java的ssm框架,Mybatis用于连接数据库,从数据库查询数据并存储到java内部,Spring框架用于处理数据并把处理后的结果返回SpringMVC。SpringMVC用于和前端用户的交互。
看不懂没关系,多看一点其他大佬的讲解就行,看实例。
图源社区
新建项目
新建项目:
idea中点击新建项目,名称位置自定义,选择spring initializr生成器
添加依赖项,手动添加如下四个依赖项,此处没有添加springweb,因为本实验只实现与mysql的交互。
完成后项目加载完成,新建一个java类,名称为ReadEssayTable,接下来尝试连接数据库:
尝试连接
尝试连接数据库代码如下:
注意修改用户表名称和账户密码,要和自己设置的账号密码匹配。
import java.sql.*;
public class ReadEssayTable {
// JDBC连接数据库的URL
static final String DB_URL = "jdbc:mysql://localhost:3306/zqy "; //这是我的数据表
// 数据库的用户名与密码
static final String USER = "root";
static final String PASS = "root"; //mysql默认密码123456,此处我做过修改
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try {
// 打开连接
System.out.println("连接数据库...");
conn = DriverManager.getConnection(DB_URL, USER, PASS);
// 执行查询
System.out.println("实例化Statement对象...");
stmt = conn.createStatement();
String sql;
sql = "SELECT * FROM tb_essay";
ResultSet rs = stmt.executeQuery(sql);
// 处理结果集
while (rs.next()) {
// 通过字段检索
int id = rs.getInt("Id");
String title = rs.getString("Title");
String content = rs.getString("Content");
Timestamp pubTime = rs.getTimestamp("Pub_time");
// 输出数据
System.out.print("ID: " + id);
System.out.print(", 标题: " + title);
System.out.print(", 内容: " + content);
System.out.println(", 发布时间: " + pubTime);
}
// 关闭资源
rs.close();
stmt.close();
conn.close();
} catch (SQLException se) {
// 处理 JDBC 错误
se.printStackTrace();
} catch (Exception e) {
// 处理 Class.forName 错误
e.printStackTrace();
} finally {
// 关闭资源
try {
if (stmt != null) stmt.close();
} catch (SQLException se2) {
}
try {
if (conn != null) conn.close();
} catch (SQLException se) {
se.printStackTrace();
}
}
System.out.println("查询完成!");
}
}
调用结果
可以看到显示连接成功
总结:
此处只是实现一个最简单的调用,要做完整的项目需要再properties里定义全局调用的数据库表名/账号密码/版本等等等,总之这是最基础的。
那这篇文章有什么用呢?当你数据库连接不上idea时,你可以按照类似方法判断一下是不是mysql数据库的路径/版本等出了问题。或者新手入门可以练一练。