一.下载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); } }程序运行结果: