用的是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