一.下载Mysql驱动
链接:https://pan.baidu.com/s/14HD9r78zx9RHG3ZY20RL2Q 提取码:c871 复制这段内容后打开百度网盘手机App,操作更方便哦
二.在eclipse中操作
1.找到项目根部,右键,选择Properties
2.如下操作
三.在MySQL中操作
--创建数据库 --
CREATE DATABASE test;
--建表--
CREATE TABLE `STU` (
`stuID` varchar(30) NOT NULL,
`stuName` varchar (50) NOT NULL,
`stuSex` CHAR(2) NULL,
`stuAge` int,
`stuJg` varchar(30),
`stuDept` varchar(40),
PRIMARY KEY (`stuID`),
CONSTRAINT `stuSex` CHECK (`stuSex` in('男','女'))
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--表中插入数据 --
INSERT INTO `STU` VALUES ('sp001', '孙悟空', '男',21,'花果山','少林派');
INSERT INTO `STU` VALUES ('sp002','猪八戒','男',15,'高老庄','天上的');
INSERT INTO `STU` VALUES ('sp003','沙悟净','男',26,'流沙河','水里的');
INSERT INTO `STU` VALUES ('sp004','唐三藏','男',21,'长安','庙里的');
--查看表数据 --
select *
from stu
四.在Eclipse的类中操作
检验一:成功输出表的某种列名数据
我们这里使用test数据库中的stu表格,并采用stu表的stuName输出检验。
import java.sql.*;
public class Jdbc {
public static void main(String args[]) {
/*
* 检验是否能成功登陆到数据库
try {
Class.forName("com.mysql.cj.jdbc.Driver"); // 加载MYSQL JDBC驱动程序
System.out.println("Success loading Mysql Driver!");
} catch (Exception e) {
System.out.print("Error loading Mysql Driver!");
e.printStackTrace();
}
*/
try {
//注明:这里写"com.mysql.cj.jdbc.Driver",而不是"com.mysql.jdbc.Driver"是因为我这边会报错,所以使用cj这语句
Class.forName("com.mysql.cj.jdbc.Driver"); // 加载MYSQL JDBC驱动程序
Connection connect = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/test?serverTimezone=CTT&useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true",
"root", "123456");// test是我的数据库名,root是我的数据库用户名,123456这个空填写的是我设的数据库密码
System.out.println("Success connect Mysql server!");
Statement stmt = connect.createStatement();
// stu 是我设的表的名称
ResultSet rs = stmt.executeQuery("select * from stu");
while (rs.next()) {
//stuName 是我设的stu表中的某一列名
System.out.println(rs.getString("stuName"));
}
} catch (Exception e) {
System.out.print("get data error!");
e.printStackTrace();
}
}
} 检验二:输出图形界面
import java.util.Vector;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import java.sql.*;
public class Test2 extends JFrame {
// rowData用来存放行数据
// columnNames存放列名
Vector rowData, columnNames;
JTable jt = null;
JScrollPane jsp = null;
// 2.定义操作数据库需要的东西
PreparedStatement ps = null;
Connection ct = null;
ResultSet rs = null;
public static void main(String[] args) {
Test2 test2 = new Test2();
}
public Test2() {
columnNames = new Vector();
columnNames.add("学号");
columnNames.add("名字");
columnNames.add("性别");
columnNames.add("年龄");
columnNames.add("籍贯");
columnNames.add("系别");
rowData = new Vector();
try {
Class.forName("com.mysql.cj.jdbc.Driver"); // 加载MYSQL JDBC驱动程序
ct = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/test?serverTimezone=CTT&useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true",
"root", "123456");// root是我的数据库用户名,123456这个空填写的是我设的数据库密码
Statement stmt = ct.createStatement();
// stu 是我设的表的名称
ps = ct.prepareStatement("select * from stu");
rs = ps.executeQuery();
while (rs.next()) {
//rowData可以存放多行
Vector hang = new Vector();
hang.add(rs.getString(1));
hang.add(rs.getString(2));
hang.add(rs.getString(3));
hang.add(rs.getInt(4));
hang.add(rs.getString(5));
hang.add(rs.getString(6));
//加入到rowData中
rowData.add(hang);
}
} catch (Exception e) {
System.out.print("get data error!");
e.printStackTrace();
} finally {
//关闭
try{
if(rs!=null) rs.close();
if(ps!=null) ps.close();
if(ct!=null) ct.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
// 初始化JTable
jt = new JTable(rowData, columnNames);
// 初始化jsp JScrollPane
jsp = new JScrollPane(jt);
// 把jsp加入到jFrame
this.add(jsp);
this.setSize(400, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}
程序运行结果: 
京公网安备 11010502036488号