这下面是我的MySQL的设计:
这是我的Java界面设计(毫无美感,将就着看吧)
注意:最好分管理员和非管理员。
注:我的表显示是另开了一个界面,本来是打算同一界面解决的,但是遇到了刷新不了数据的问题,只能放弃,至今依然没找到办法解决呢~~~
这是我的Java代码解释:
1、数据库连接
这个数据库连接方法可以去网上找呢。大概就是:在这个 C:\Program Files (x86)\Java\jre7\lib\ext 文件夹将mysql-connector-java-5.1.8-bin.jar 复制一份放入其中。在 Eclipse 中,鼠标选中项目工程,右键点击 Build Path,选择 Configure Build Path,会跳 出 一 个 属 性 框 图 。 选 择 Java Build Path 下 的 Libraries , 查 看 是 否 有mysql-connector-java-5.1.8-bin.jar。如果没有,点击Add External JARs,浏览到JDBC的MySQL驱动的 jar 包,点击确定,将其导入到项目中。
//数据库连接
public class DBhelper {
public static final String url = "jdbc:mysql://localhost/personal_management";
public static final String name = "com.mysql.jdbc.Driver";
public static final String user = "root";
public static final String password = "admin";
public Connection conn = null;
public PreparedStatement pst = null;
public DBhelper(String sql) {
try {
Class.forName(name);
conn = DriverManager.getConnection(url,user,password);
pst = conn.prepareStatement(sql);
} catch (Exception e) {
e.printStackTrace();
}
}
public void close() {
try {
this.conn.close();
this.pst.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
}
}
2、登录界面
//登录界面
public class register {
public int usercode;
public int passcode;
public register() {
JFrame register=new JFrame("人事管理系统登录");
register.setSize(450, 345);
register.setLocation(700, 300);
register.setLayout(null);
register.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel username=new JLabel("账号");
JLabel password=new JLabel("密码");
JLabel tille=new JLabel("欢 迎 登 录");
username.setFont(new Font("宋体",1,18));
username.setForeground(Color.WHITE);
password.setFont(new Font("宋体",1,18));
password.setForeground(Color.WHITE);
tille.setFont(new Font("华文行楷",1,30));
tille.setForeground(new Color(200,150,100));
JTextField t1=new JTextField(15);
JPasswordField t2=new JPasswordField(15);
JButton bt=new JButton("登录");
bt.setFont(new Font("宋体",1,18));
t2.setBounds(150, 150, 200, 30);
t1.setBounds(150, 100, 200, 30);
username.setBounds(75, 100, 50, 30);
password.setBounds(75, 150, 50, 30);
tille.setBounds(150, 50, 200, 30);
bt.setSize(50, 20);
bt.setBounds(170, 220,100,30);
JLabel b=new JLabel(new ImageIcon("C:\\Users\\22592\\Pictures\\Camera Roll\\pp.jpg"));
b.setBounds(0, 0, 450, 350);
register.add(bt);
register.add(t2);
register.add(t1);
register.add(username);
register.add(password);
register.add(tille);
register.add(b);
register.setVisible(true);
t1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String u =t1.getText();
int i=Integer.valueOf(u).intValue();
usercode=i;
}
});
t2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String p = t2.getText();
int j=Integer.valueOf(p).intValue();
passcode=j;
}
});
bt.addMouseListener(new MouseListener() {
@Override
public void mouseReleased(MouseEvent e) {
}
@Override
public void mousePressed(MouseEvent e) {
new userverify(usercode,passcode);
}
@Override
public void mouseExited(MouseEvent e) {
}
@Override
public void mouseEntered(MouseEvent e) {
}
@Override
public void mouseClicked(MouseEvent e) {
}
});
}
public static void main(String[] args) {
new register();
}
}
3、管理员界面
我就不把全部界面都拿出来,只拿了管理员界面作为例子,道理都是一样的。
//管理员界面
public class perframe extends JFrame{
public perframe(int au) {
this.setTitle("管理员");
this.setSize(750, 500);
this.setLocation(500, 250);
this.setLayout(null);
this.design(au);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
void design(int a) {
JMenuBar mBar=new JMenuBar();
this.setJMenuBar(mBar);
JMenu mn1=new JMenu("信息");
mn1.setFont(new Font("宋体", Font.PLAIN, 16));
JMenu mn2=new JMenu("编辑");
mn2.setFont(new Font("宋体", Font.PLAIN, 16));
mBar.add(mn1);
mBar.add(mn2);
JMenuItem item2=new JMenuItem("加密");
JMenuItem item3=new JMenuItem("退出");
JMenuItem item4=new JMenuItem("信息查询修改");
JMenuItem item5=new JMenuItem("增删员工信息");
JMenuItem item6=new JMenuItem("人事变动记录");
item2.setFont(new Font("宋体", Font.PLAIN, 16));
item3.setFont(new Font("宋体", Font.PLAIN, 16));
item4.setFont(new Font("宋体", Font.PLAIN, 16));
item5.setFont(new Font("宋体", Font.PLAIN, 16));
item6.setFont(new Font("宋体", Font.PLAIN, 16));
mn1.addSeparator();
mn1.add(item2);
mn1.addSeparator();
mn1.add(item3);
mn2.add(item4);
mn2.addSeparator();
mn2.add(item5);
mn2.addSeparator();
mn2.add(item6);
item2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
new Encryption();
}
});
item3.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
item4.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
new Chre(a);
}
});
item5.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
new Staffadd();
}
});
item6.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
new Change();
}
});
}
public static void main (String[] args) {
}
}
4、登录验证
就是看权限然后打开不同的管理界面。