EMS员工信息管理系统
MVC的设计模式
M层:Model模型层,负责业务,封装数据库的相关操作
Jdbc+javabean+方法—dao工厂
util
- DBUtil.java
package util;
import java.sql.Connection;
import java.sql.DriverManager;
public class DBUtil {
//封装一个获取数据库连接的方法,dbname这个参数是数据库的名字
//还有数据库密码自行修改
public static Connection getCon(String dbname) throws Exception
{
//1. 注册加载驱动
Class .forName("com.mysql.jdbc.Driver");
//2.获得数据库的连接
//(1).连接mysql的url地址
String url="jdbc:mysql://localhost:3306/"+dbname+"?useUnicode=true&characterEncoding=utf8";
//(2).连接mysql的用户名
String username="root";
//(3).连接mysql的密码
String pwd="123456";
Connection con=DriverManager.getConnection(url, username, pwd);
System.out.println("MySQL连接成功!"+con);
return con;
}
}
dao
- EmpDao.java
package dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import util.DBUtil;
//模型层 -- M层
//EmpDao工厂类--封装实现业务功能--数据库的相关操作
public class EmpDao {
//封装方法:获得数据库表t_emp中所有的数据 select * from t_emp
public ResultSet getAllEmps(){
ResultSet rs=null;
try {
//通过DBUtil获得数据库的连接
Connection con=DBUtil.getCon("ems");
//预编译sql语句
String sql="select * from t_emp";
PreparedStatement prep=con.prepareStatement(sql);
//执行sql语句
rs=prep.executeQuery();
} catch (Exception e) {
e.printStackTrace();
}
return rs;
}
//将姓名、工资和年龄插入t_emp表中的方法 insert into ...
public void addEmpInfo(String name,double salary,int age){
try {
//获得数据库的连接
Connection con=DBUtil.getCon("ems");
//预编译sql
String sql="insert into t_emp(name,salary,age) values(?,?,?)";
PreparedStatement prep=con.prepareStatement(sql);
prep.setString(1,name);
prep.setDouble(2,salary);
prep.setInt(3, age);
//执行sql
prep.executeUpdate();
//关闭连接
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
//根据id来查询一条员工信息的方法 select * from t_emp where id=?
public ResultSet getEmpById(int id){
ResultSet rs=null;
try {
//获得数据库的连接
Connection con=DBUtil.getCon("ems");
//预编译sql语句
String sql="select * from t_emp where id=?";
PreparedStatement prep=con.prepareStatement(sql);
prep.setInt(1, id);
//执行sql语句
rs=prep.executeQuery();
} catch (Exception e) {
e.printStackTrace();
}
return rs;
}
//根据id来修改员工信息的方法
public void updateEmpByID(int id,String name,double sal,int age){
try {
//获得数据库的连接
Connection con=DBUtil.getCon("ems");
//预编译sql语句
String sql="update t_emp set name=?,salary=?,age=? where id=?";
PreparedStatement prep=con.prepareStatement(sql);
prep.setString(1, name);
prep.setDouble(2, sal);
prep.setInt(3, age);
prep.setInt(4, id);
//执行sql语句
prep.executeUpdate();
//关闭
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
//根据id来删除员工信息
public void deleteEmpByID(int id){
try {
//获得数据库的连接
Connection con=DBUtil.getCon("ems");
//预编译sql语句
String sql="delete from t_emp where id=?";
PreparedStatement prep=con.prepareStatement(sql);
prep.setInt(1, id);
//执行sql语句
prep.executeUpdate();
//关闭
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
V层:View视图层,负责浏览器端页面的显示 在WebRoot下
Jsp(html css js java代码)
员工信息显示首页
修改员工界面
添加员工界面
C层:Controller控制层:属于服务器端,用来接收请求和响应
Servlet技术
- web