现在终于可以写出实用一点的程序了。虽然这个程序的功能非常之简陋,而且还有BUG。不过最起码已经可以使用了。
功能预览和下一步的目标
程序主界面
查询功能:
目前只做了一个表的增、删、改、查。下一步应该就是把功能完善,比如加入错误处理,比如加入成绩部分。完成一个班级内的学生信息管理的功能,应该具有学生的基本信息查询,成绩管理这两个功能
不过有一个问题就是,在表格更新这一部分,每更新一次,就要创建一个tabliModel对象,感觉可以改进。再有就是MVC模式,其实也就接触设计模式。还有就是整成那种可执行文件。
程序代码
mysql建表语句
CREATE TABLE student(
stuId INT PRIMARY KEY,
stuName VARCHAR(20) NOT NULL DEFAULT '',
stuAge INT NOT NULL DEFAULT 0,
stuSex VARCHAR(5) NOT NULL DEFAULT ''
)engine myisam charset utf8;
JAVA代码:
数据库部分
com.laolang.domain(数据对象,这里只有一个Student对象)
package com.laolang.domain;
public class Student{
public Student(){
super();
}
public Student(int stuId, String stuName, int stuAge, String stuSex){
super();
this.stuId = stuId;
this.stuName = stuName;
this.stuAge = stuAge;
this.stuSex = stuSex;
}
@Override
public String toString(){
return "Student [stuId=" + stuId + ", stuName=" + stuName + ", stuAge="
+ stuAge + ", stuSex=" + stuSex + "]";
}
public int getStuId(){
return stuId;
}
public void setStuId(int stuId){
this.stuId = stuId;
}
public String getStuName(){
return stuName;
}
public void setStuName(String stuName){
this.stuName = stuName;
}
public int getStuAge(){
return stuAge;
}
public void setStuAge(int stuAge){
this.stuAge = stuAge;
}
public String getStuSex(){
return stuSex;
}
public void setStuSex(String stuSex){
this.stuSex = stuSex;
}
private int stuId;
private String stuName;
private int stuAge;
private String stuSex;
}
com.laolang.db(数据库连接工具类,用的是属性文件的方式)
laolangDB(工具类)
package com.laolang.db;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ResourceBundle;
public class laolangDB {
private static String URL;
private static String USERNAME;
private static String USERPASSWORD;
private static String DRIVER;
private static ResourceBundle rb = ResourceBundle
.getBundle("com.laolang.db.db-config");
static {
URL = rb.getString("jdbc.url");
USERNAME = rb.getString("jdbc.username");
USERPASSWORD = rb.getString("jdbc.userpassword");
DRIVER = rb.getString("jdbc.driver");
try {
Class.forName(DRIVER);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static Connection getConnection() {
Connection conn = null;
try {
conn = DriverManager.getConnection(URL, USERNAME, USERPASSWORD);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
public static void closeConnection(ResultSet rs, Statement ps,
Connection conn) {
try {
if (null != rs)
rs.close();
if (null != ps)
ps.close();
if (null != conn)
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
db-config.properties(数据文件):
jdbc.url=jdbc:mysql://localhost:3306/studentmanager1.1.1 jdbc.username=root jdbc.userpassword=123456 jdbc.driver=com.mysql.jdbc.Driver
com.laolang.dao(数据库操作接口)
StudentDao
package com.laolang.dao;
import java.sql.SQLException;
import java.util.List;
import com.laolang.domain.Student;
public interface StudentDao{
public void insertStudent(Student stu) throws SQLException;
public void deleteStudent(int stuId) throws SQLException;
public void updateStudent(Student stu) throws SQLException;
public Student selectStudentById(int stuId) throws SQLException;
public List selectStudentAll() throws SQLException;
}
com.laolang.dao.impl(数据库操作实现)
StudentDaoImpl
packa