Java编辑器上的Mysql与Table的连接结合

  Java编辑器上的Mysql链接与Table的结合

  1.先建立sql的数据

  (1).建立sql中student数据库表名为date

  (2).date表中数据

  2.先建立sql的链接

  第一步:先加载mysql-connector-java-5.0.8.jar

  链接:暂无

  图片如下:

  

5.0.8.jar包长这样

 

  这是基于java1.7的sql链接.jar包

  java1.7链接:暂无

  图片如下:

  

1.7的包长这样

 

  下面是sqlconnect代码

  package sql;

  import java.sql.*;

  public class sqlconnect {

  private Connection con;

  private PreparedStatement ghysql;

  private ResultSet res; //返回的Result

  public static void main(String[] args){

  sqlconnect sql=new sqlconnect();

  sql.getConnection();

  }

  //连接类

  public Connection getConnection() {

  try {

  String Driver="com.mysql.jdbc.Driver";//链接驱动

  Class.forName(Driver);

  //第一个是链接sql的位置, 第二个是sql的登入账号 ,第三个是sql的登入密码

  con=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/student", "root", "");

  System.out.println("数据库连接成功");

  } catch (Exception e) {

  e.printStackTrace();

  }

  return con;

  }

  //关闭类

  public void sqlclose(){

  //在处理完结果集的时候再关闭连接,关掉连接后处理结果集会发生此错误。

  if(ghysql !=null){

  try{

  ghysql.close();

  System.out.println("释放并关闭了sql空间");

  }catch(SQLException e){

  System.err.println(e.getMessage());

  }

  ghysql=null;

  }

  }

  }

  jdbc:mysql://127.0.0.1:3306/student 中的student是我的数据库

  2.建立Table与sql的关系

  下面是table与sql共同作用代码

  package Table;

  import java.awt.Color;

  import java.sql.Connection;

  import java.sql.PreparedStatement;

  import java.sql.ResultSet;

  import java.util.Vector;

  import javax.swing.JButton;

  import javax.swing.JFrame;

  import javax.swing.JPanel;

  import javax.swing.JScrollPane;

  import javax.swing.JTable;

  import javax.swing.ListSelectionModel;

  import javax.swing.table.DefaultTableModel;

  import javax.swing.table.TableRowSorter;

  import sql.sqlconnect;

  public class table extends JFrame {

  JPanel panel=(JPanel)getContentPane();

  JTable table=new JTable();

  JScrollPane jScrollpane=new JScrollPane(table);//可以上下拉的拉框

  DefaultTableModel tablemodel=new DefaultTableModel();//table的模式tablemodel

  String[] columnNames = {"学号","姓名", "专业","手机号"};

  Vector setvec= new Vector();//创建集合类

  String[][] tableValues;

  JButton bnt=new JButton();

  PreparedStatement Preparesql;

  sqlconnect con=new sqlconnect();//sqlconnect 实例化

  Connection conn; //定义Connection型的conn

  public table(){

  super("WDAIHY");郑州妇科医院 http://www.zykdfkyy.com/

  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//直接可以点击×,关闭窗口

  this.setSize(456, 418);//窗口大小

  this.setLocationRelativeTo(null);//窗口居中

  tablepaint();

  Init();

  this.setVisible(true);

  }

  public void tablepaint(){

  Object[][] tableValues = {}; // 设定表格的字段

  Vector vec = null;

  tablemodel = new DefaultTableModel(tableValues, columnNames){

  public boolean isCellEditable(int row , int column) {

  // 表格不可编辑

  return false;

  }

  };

  conn=(Connection) con.getConnection();//链接数据库

  try {

  String Value_sql="select * from date";

  Preparesql=conn.prepareStatement(Value_sql);

  ResultSet res=Preparesql.executeQuery();//执行预处理语句

  System.out.println(Value_sql);

  while (res.next()) {

  vec = new Vector();//创建在里面

  //trim()去掉两端多余的空格,12非空

  vec.add(res.getString("id_student").trim());

  vec.add(res.getString("name"));

  vec.add(res.getString("professional").trim());

  vec.add(res.getString("phone"));

  System.out.println("SearchTable"+vec);//观察数据

  tablemodel.addRow(vec);

  }

  } catch (Exception e) {

  e.printStackTrace();

  }finally{

  con.sqlclose();//关闭数据库节省系统资源

  }

  }

  public void Init(){

  //利用tablemodel加载table

  table=new JTable(tablemodel);//实例化table

  jScrollpane.setBounds(10 ,10 ,430,300);//设置可以上下拉的拉框

  panel.add(jScrollpane);//把拉框添加到panel显示

  panel.add(table);//把table添加到panel显示

  jScrollpane.getViewport().add(table, null);//把table放在唯一的jScrollpane上

  //table设置

  table.setRowSorter(new TableRowSorter< >(tablemodel));//排序器

  table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);//设置单选

  table.setRowHeight(36);//行高

  table.setGridColor(Color.blue);

  table.setDragEnabled(true);

  table.setSelectionForeground(Color.white);//选中之后的字体颜色

  table.setSelectionBackground(Color.gray);//选中之后的周围颜色

  table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

  table.setRowSelectionAllowed(true);

  table.setShowVerticalLines(true);

  table.getTableHeader().setReorderingAllowed(false);//表格列头不可移动

  }

  public static void main(String[] args) {

  // TODO Auto-generated method stub

  new table();//运行

  }

  }

  最后运行图片

posted @ 2019-12-23 16:31  网管布吉岛  阅读(285)  评论(0编辑  收藏  举报