Swing 之 JTable 增删改查(一)

本文介绍了如何使用Swing中的JTable组件进行增删改查操作,结合MySQL数据库实现数据交互。通过netbeans自动生成的initComponents()方法,详细展示了具体的代码实现。
摘要由CSDN通过智能技术生成

用的是mysql数据库, initComponents() 为netbeans生成的代码,代码如下:

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.ethan.model;

/**
 *
 * @author Administrator
 */
public class Student {
    private Short id;
    private String sid;
    private String name;
     public Student() {
    }

    public Student(Short id) {
        this.id = id;
    }

    public Student(Short id, String sid, String name) {
        this.id = id;
        this.sid = sid;
        this.name = name;
    }

    public Short getId() {
        return id;
    }

    public void setId(Short id) {
      
        this.id = id;
      
    }

    public String getSid() {
        return sid;
    }

    public void setSid(String sid) {
      
        this.sid = sid;
      
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
       
        this.name = name;
       
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (id != null ? id.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Student)) {
            return false;
        }
        Student other = (Student) object;
        if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "jtable.Student[ id=" + id + " ]";
    }
}

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.ethan.dao;

import com.ethan.model.Student;
import java.util.List;


/**
 *
 * @author Administrator
 */
public interface StudentDAO {
    public int add(Student stu);
    public boolean del(Student stu);
    public boolean modify(Student stu);
    public List<Student> query();
}

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.ethan.dao.impl;

import com.ethan.dao.StudentDAO;
import com.ethan.model.Student;
import com.ethan.util.DBUtil;
import com.mysql.jdbc.PreparedStatement;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Administrator
 */
public class StudentDAOImpl implements StudentDAO {

    private Connection conn;
    private PreparedStatement pstmt;
    private ResultSet rs;
    private String sql;

    @Override
    public int add(Student stu) {
        conn = DBUtil.getConn();
        sql = "insert into student(sid,name) values(?,?)";
        pstmt = (PreparedStatement) DBUtil.getPstmt(conn, sql);

        try {
            pstmt.setString(1, stu.getSid());
            pstmt.setString(2, stu.getName());
            return pstmt.executeUpdate();
        } catch (SQLException ex) {
            Logger.getLogger(StudentDAOImpl.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            
                DBUtil.close(conn, pstmt, rs);
            
        }
        return 0;
    }

    @Override
    public boolean del(Student stu) {
         try {
            sql = "delete from student where sid=?";
            
            conn = DBUtil.getConn();
            pstmt = (PreparedStatement) DBUtil.getPstmt(conn, sql);
            pstmt.setString(1, stu.getSid());
           
            return pstmt.executeUpdate() == 1 ? true : false;
        } catch (SQLException ex) {
            Logger.getLogger(StudentDAOImpl.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            
                DBUtil.close(conn, pstmt, rs);
           
        }
        return false;
    }

    @Override
    public boolean modify(Student stu) {
        
        try {
            sql = "update student set sid=?,name=? where id=?";
            
            conn = DBUtil.getConn();
            pstmt = (PreparedStatement) DBUtil.getPstmt(conn, sql);
            pstmt.setString(1, stu.getSid());
            pstmt.setString(2, stu.getName());
            pstmt.setShort(3, stu.getId());
            return pstmt.executeUpdate() == 1 ? true : false;
        } catch (SQLException ex) {
            Logger.getLogger(StudentDAOImpl.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            
                DBUtil.close(conn, pstmt, rs);
           
            
        }
        return false;
    }

    //LoadDate 集中在Frame中,不清晰
    @Override
    public List<Stud
package BookTest; import java.awt.*; import java.awt.event.*; import java.util.AbstractQueue; import java.util.Vector; import javax.swing.*; import javax.swing.table.*; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultTreeCellRenderer; import javax.swing.tree.DefaultTreeModel; import javax.swing.tree.TreeSelectionModel; import javax.swing.event.*; import javax.swing.table.TableColumnModel; //import DbHelp.OperatorJobs; import Dao.ArrayBook; public class Test extends JFrame { public JPanel jp=null; public String aa; //JTable jTable1 = new JTable(); public JTable jTable1=null; private JTree jTree1; DefaultTableModel mode; private JScrollPane scrollPane = null; DefaultMutableTreeNode node; JButton[] btn={new JButton("增加"),new JButton("删除"),new JButton("修改"),new JButton("查询"),new JButton("重置")}; public JTextField[] txt ={new JTextField(),new JTextField(),new JTextField(),new JTextField(),new JTextField(),new JTextField()}; public String[] str1={"1","summer","boy","20","",""}; public String[] str2={"2","wulei","girl","19","",""}; public String[] str3={"3","west","boy","20","",""}; public String[] str4={"4","fish","girl","18","",""}; public String[] str5={"5","youku","boy","21","",""}; public String[] str6={"6","aa","boy","21","",""}; public String[][] tempData1={str1,str2,str3,str4,str5,str6}; public String[] aa1={"1","summer","boy","20","123","123"}; public String[] aa2={"2","wulei","girl","19","123",""}; public String[] aa3={"3","west","boy","20","123",""}; public String[] aa4={"4","fish","girl","18","1",""}; public String[] aa5={"5","youku","boy","21","12",""}; public String[] aa6={"6","aa","boy","21","123",""}; public String[][] tempData4={aa1,aa2,aa3,aa4,aa5,aa6}; //设置表头数据 public String[] tempTitle={"ID","标题","内容","作者","时间","是否选中"}; //设置表格的数据集合 Vector v1=new Vector(); Vecto
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值