1.创建数据库连接管理类
- 方法一:在程序里定义数据库连接属性常量
package net.xd.student.dbutil;
import javax.swing.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
//数据库连接管理类
public class ConnectionManager {
private static final String DRIVER="com.mysql.jdbc.Driver";//数据库驱动程序
private static final String URL="jdbc:mysql://localhost:3306/student1";
//数据库统一资源标识符
private static final String USER="root";//数据库用户
private static final String PASSWORD="root";//数据库密码
//私有化构造方法,拒绝实例化
private ConnectionManager(){
}
/**
* 获取数据库连接静态方法
* @return 数据库连接对象
*/
public static Connection getConnection() {
//定义数据库连接
Connection conn = null;
try{
//安装数据库驱动程序
Class.forName(DRIVER);
//获取数据库连接
conn= DriverManager.getConnection(URL,USER,PASSWORD);
}catch (ClassNotFoundException e){
e.printStackTrace();
}catch (SQLException e){
e.printStackTrace();
}
//返回数据库连接
return conn;
}
/**
* 关闭数据连接静态方法
* @param conn
*/
public static void closeConnection(Connection conn){
//判断数据库连接是否非空
if(conn!=null){
try{
//判断连接是否未关闭
if(!conn.isClosed()){
//关闭数据库连接
conn.close();
}
}catch (SQLException e){
e.printStackTrace();
}
}
}
public static void main(String[] args) {
//获取数据库连接
Connection conn =getConnection();
//判断数据库连接是否成功
if(conn!=null){
JOptionPane.showMessageDialog(null,"恭喜,数据库连接成功!");
}else{
JOptionPane.showMessageDialog(null,"遗憾,数据库连接失败!");
}
//关闭数据库连接
closeConnection(conn);
}
}
注意: private static final String PASSWORD=“root”;密码值要改成自己电脑MySQL的密码。
- 方法二:从数据库配置文件里读取属性值。
2.创建数据访问接口
创建四个数据访问接口:CollegeDao、StatusDao、StudentDao、UserDao。与数据库中
t_status、t_studen、t_user表相对应,对这四张表的操作就在相应的数据访问接口里进行规定。
- 创建学校数据访问接口CollegeDao
package net.xd.student.dao;
import net.xd.student.bean.College;
/**
* 学校数据访问接口
*/
public interface CollegeDao {
College findById(int id);//按编号查询学校记录
int update(College college);//更新学校记录
}
- 创建状态数据访问接口
package net.xd.student.dao;
import net.xd.student.bean.Status;
/**
* 状态数据访问接口
*/
public interface StatusDao {
Status findById(int id);//按编号查询状态记录
int update(Status status);//更新状态记录
}
- 创建学生数据访问接口
package net.xd.student.dao;
import net.xd.student.bean.Student;
import java.util.List;
import java.util.Vector;
/**
* 学生数据访问接口
*/
public interface StudentDao {
int insert(Student student);//插入学生记录
int deleteById(String id);//按编号删除学生记录
int deleteByClass(String clazz);//按班级删除学生记录
int deleteByDepartment(String department);//按系部删除学生记录
int update(Student student);//更新学生记录
Student findById(String id);//按编号查询学生
List<Student> findByName(String name);//按姓名查询学生记录
List<Student> findByClass(String clazz);//按班级查询学生记录
List<Student> findByDepartment(String department);//按系部查询学生记录
List<Student> findAll();//查询全部学生记录
Vector findRowsBySex();//按性别统计人数
Vector findRowsByClass();//按班级统计人数
Vector findRowsByDepartment();//按系部统计人数
}
- 创建用户数据访问接口
package net.xd.student.dao;
import net.xd.student.bean.User;
import java.util.List;
/**
* 用户数据访问接口
*/
public interface UserDao {
int insert (User user);//插入用户记录
int deleteById(int id);//按编号删除用户记录
int update(User user);//更新用户记录
User findById(int id);//按编号查询用户记录
List<User> findAll();//查询全部用户记录
User login(String username,String password);//用户登录
boolean isUsernameExisted(String username);//判断用户名是否存在
}