我的日常

登录/注册
您现在的位置:论坛 盖世程序员(我猜到了开头 却没有猜到结局) 盖世程序员 > 简单的JAVA员工信息管理系统源码
总共48087条微博

动态微博

查看: 2882|回复: 1

简单的JAVA员工信息管理系统源码

[复制链接]

29

主题

5

听众

183

金钱

三袋弟子

该用户从未签到

跳转到指定楼层
楼主
发表于 2014-07-28 19:36:08 |只看该作者 |正序浏览

// 项目目标:建立员工管理系统第一个版本。
( q3 k6 A0 G+ `" B% L! s- g; I// 实现图形用户界面的员工信息查询、增、删、改;与数据库建立,并将修改结果时时保存到数据库。6 C9 y/ N+ B4 o$ B. B
// 模块:1.GUI界面 2.数据库连接 3.查询 4.增、5删 6改(操作数据库)

import java.sql.*;
1 X) ^5 W, H" wimport java.awt.*;+ b. |% e; }/ N+ N: l) h# H: r' N
import java.awt.event.*;

import javax.swing.*;

public class EmpManageSys implements ActionListener {8 T; A& Z, I' E( l+ M0 t5 O' C
Connection con;3 V5 P7 o% L" U+ O( w9 L
Statement stmt;+ H: B3 t: Z9 G( [
String sql;
6 y7 s6 y5 w2 P  S" \9 tResultSet rs;9 U# Q. w$ q- f5 r
StringBuffer sb = new StringBuffer();

JTextField jtf2 = new JTextField("张飞",10);

JTextField jtf3 = new JTextField(10);

JTextField jtf4 = new JTextField(10);

JTextField jtf7 = new JTextField(10);

JTextField jtf5 = new JTextField(10);

JTextField jtf6 = new JTextField(10);

JTextField jtf8 = new JTextField(10);

JTextField jtf9 = new JTextField(10);

JTextArea jta10 = new JTextArea(50, 40);

public void actionPerformed(ActionEvent e) {9 Q% G& |( \2 z1 ~4 t
String str = e.getActionCommand();
/ v4 S6 c+ q1 jif ("查询".equals(str)) {

//if check the button of 查询,then go to method of searchEmp()
# w& e: U- a2 |  ~* v% @0 j% csearchEmp();
3 J: s/ n. ^# C} else if ("增加".equals(str)) {

//if check the button of 增加,then go to method of addEmp()/ G4 A- h1 d* z: B
addEmp();
7 i6 o: ]4 @7 H% g} else if ("修改".equals(str)) {

//if check the button of 修改,then go to method of alterEmp()
! R8 b/ V# t9 ~. O4 k8 kalterEmp();+ F3 j: @* N' N& w# P- r
} else if ("撤除".equals(str)) {

//if check the button of 撤除,then go to method of deleteEmp()
+ c+ Q+ I& Z" O, U4 a0 d# p' TdeleteEmp();  M6 k0 x8 j$ Z/ k' [
}  y8 [( B$ {2 t! U7 a# N
}

//this is the constructor.

EmpManageSys() {; [$ {) Y9 ?) C! `+ K
createGUI();' C$ D* V- a/ s8 ], e) J: _
connectToDataBase();$ C7 d( S6 s! q# A9 G
// searchEmp();$ L/ ^) h. t# X  C* U+ @% t
// addEmp();% z& o: N5 y# ?
// deleteEmp();4 [' b) H* I6 \3 w  i
alterEmp();
- o( T; H; N. F4 ~9 ]5 H5 ^. o}

//connect to the database by using the method getConnection from the class of JdbcUtil.

//You can find the class of JdbcUtil at the button of this page.

public Connection connectToDataBase() {  z7 W4 ^/ I  \) S7 @. n
con = JdbcUtil.getConnection();9 h' z9 r: A$ B0 c4 A$ j
System.out.println(con);
  S: Z& G: q3 x0 K( t5 V4 kreturn con;

}

public void searchEmp() {
* H# H! O. i) w  J8 Gjta10.setText("");
0 h5 B' s* g' S) C6 W) }. xtry {2 E# L5 h9 Y! H* q3 P1 v1 c% i
stmt = con.createStatement();' Z- n. ]1 t) S
// sql = "select * from Mstar where id=" + jtf3.getText();
$ \$ J! M( u% ]1 x2 b// sql1="select * from sd100343 where ="+jtf3.getText();
6 I: P: i2 b- x" O4 ^sql = "select * from Mstar where chineseName=": d8 a& ~; ?  A
+ jtf2.getText().toLowerCase().trim() + "or id=") A7 O' c+ l# [; {
+ jtf3.getText().toLowerCase().trim() + "or engName="/ u3 H7 j4 o" C. T
+ jtf4.getText().toLowerCase().trim() + "or UNIT=") }# {7 K5 K* X1 l3 t; T
+ jtf5.getText().toLowerCase().trim() + "or TEAM="+ B' |+ h6 a% _8 m5 V$ S
+ jtf6.getText().toLowerCase().trim() + "or Phone="
3 _+ ~  a: e5 i$ }+ jtf7.getText().toLowerCase().trim() + "or region="
, k+ \% [& g# n6 a& s  P+ jtf8.getText().toLowerCase().trim() + "or busStation="
2 l& J8 u+ x' |6 n) t* |; b+ jtf9.getText().toLowerCase().trim();( @2 r8 N+ Y" m
stmt.executeQuery(sql);
& Z% F8 c8 P8 xrs = stmt.getResultSet();
% X: M# n( V2 lResultSetMetaData meta = rs.getMetaData();( I3 G" }4 F+ i5 T8 N: B5 _) k
int cols = meta.getColumnCount();
* ?; }( z0 O. e' h1 w$ `while (rs.next()) {6 V6 e7 C3 G9 N
for (int i = 1; i <= cols; i++) {
6 F$ b2 I3 k8 c; o; ?2 n0 A! [/ Jsb.append(" " + meta.getColumnName(i) + " =");
/ P/ n; U' X; i- W5 _+ `sb.append(rs.getString(i));9 T& e- l* Z6 q/ V
}! h3 W/ D4 ~& E# I
sb.append("\n");
) [! }( g( l3 x3 ~jta10.setText(sb.toString());0 P+ b' u& ]! m( e; t, @1 g
}
5 d0 e/ [: t# _1 J. ~( {} catch (SQLException e11) {
' N+ T' [3 k2 c* @" z! Se11.printStackTrace();
7 n% p" H% f+ ]% P" I' v, |% P}

}

public void addEmp() {# m: R/ O/ ?: [) D" x+ \& E
try {
' Y! j: F  w, H& \" @6 V) T: G2 j* l" Astmt = con.createStatement();: \/ \6 @, j) G
sql = "update Mstar values(" + jtf2.getText() + jtf3.getText()" R5 o# R5 s& Q0 c8 l/ Q
+ jtf4.getText() + jtf5.getText() + jtf6.getText()
1 C, Q. i$ t: ^( _3 W: G5 A+ jtf7.getText() + jtf8.getText() + jtf9.getText() + ")";
1 S" B7 m0 K) ]int i = stmt.getUpdateCount();
0 g3 C  u4 S) J, z) cif ((jtf2.getText() != null) && (jtf4.getText() != null)
3 U& A! n$ s* _5 V# _& W&& (jtf6.getText() != null) && (jtf7.getText() != null)) {
' o. y) I6 L2 w  g9 x/ L; Pstmt.executeUpdate(sql);
+ B$ b4 N& q, Z0 i- i/ X& Jjta10.setText("添加记录成功" + i + "条");) i& s' O: h9 q3 t9 a
} else {& y, G/ \  L" Y7 l6 q! d
jta10.setText("带*号项为添加记录时不能为空");
: n0 z* H4 z; U( N* \; W9 c}, m  W0 y( i6 T6 J
} catch (SQLException e1) {0 `3 s2 ]5 i6 M
e1.printStackTrace();
6 d! e2 N+ j* l" O" q2 G0 M}
8 A+ x" c# s8 q) @% u. o% t}

public void deleteEmp() {
1 s( [- R# l/ d% _searchEmp();
" t# h4 @) B& K* ~# P/ |0 itry {
$ x  T* m" d& d) c: d* Cstmt = con.createStatement();1 q) z* A* n6 x6 r9 F4 u
sql = "delete from Mstar where chineseName="8 ], P& `- p4 Y  v# k
+ jtf2.getText().toLowerCase().trim() + "or id="
+ Z" n& _/ B6 M) i( @/ Q" ~6 M, P+ jtf3.getText().toLowerCase().trim() + "or engName="/ N* L. J: K% w+ K! w
+ jtf4.getText().toLowerCase().trim() + "or UNIT="7 f6 ?8 T% i+ J% ?8 ]
+ jtf5.getText().toLowerCase().trim() + "or TEAM=": _$ R6 m1 ?  h) d, ^) u
+ jtf6.getText().toLowerCase().trim() + "or Phone="
. P7 Y9 W0 g4 p* q- o" D+ u+ jtf7.getText().toLowerCase().trim() + "or region="
: ]1 p' u) L! Y! a+ jtf8.getText().toLowerCase().trim() + "or busStation="
( N9 D0 |4 N: N5 h# z: l6 p+ jtf9.getText().toLowerCase().trim();' W# K8 q; f1 T! P3 K9 ^
stmt.executeUpdate(sql);& _* D+ X+ l* f
int i = stmt.getUpdateCount();
$ _. {# v* ^4 djta10.setText("撤除操作成功" + i + "条");
% @+ u# j, O) h} catch (SQLException e) {  J+ M" Q9 ?$ C9 ^
e.printStackTrace();
9 i* A  i: |/ [: N2 z}

}

public void alterEmp() {; t( Q! S: j; i6 ]) d- D# @
searchEmp();# t$ b- e7 c( Q
sql = "update Mstar set chineseName="+ e) m' L4 {0 O8 _: o" t
+ jtf2.getText().toLowerCase().trim() + "and id="
. g/ p% [$ b; l  k- a( U5 |0 o+ jtf3.getText().toLowerCase().trim() + "and engName="
  O- U+ L5 p4 s" \* \+ jtf4.getText().toLowerCase().trim() + "and UNIT="+ O! `9 [3 ?7 F! W4 o, v, s7 {* i  o
+ jtf5.getText().toLowerCase().trim() + "and TEAM="2 v% y) S( B/ J9 v0 q. q, g
+ jtf6.getText().toLowerCase().trim() + "and Phone="# A7 w! H6 \* @9 f! l& v+ N
+ jtf7.getText().toLowerCase().trim() + "and region="( z, D/ r7 S" q! A7 z/ ?
+ jtf8.getText().toLowerCase().trim() + "and busStation="7 \* {7 L) H( u5 p: h
+ jtf9.getText().toLowerCase().trim();

int i = 0;% m: q( ]" \$ u2 ?" ?
try {
7 z( w7 D& P" {/ J2 H6 \, \1 Cstmt.executeUpdate(sql);: G* Z9 @( I$ r6 p
i = stmt.getUpdateCount();
. W, u" {& B: s) r1 u} catch (SQLException e) {
/ T, J9 G2 z/ @e.printStackTrace();
9 ~7 \- d- `$ f1 h6 K2 {}4 a, S1 ]8 k! t6 n  h: v
jta10.setText("修改操作成功" + i + "条");$ Z! y# G! t. J8 ]
}

public void createGUI() {6 o- x2 u. R3 O$ |1 v
JFrame jf = new JFrame("员工信息管理系统");# n5 Z! I4 r  O0 E* H$ o
jf.setLayout(new GridLayout(2, 1));; |- h2 }+ Y9 h$ s, G
// jf.setLayout(new GridLayout(10,2));
& J: ?4 H/ t1 e3 ]$ W8 GJPanel jp00 = new JPanel(new GridLayout(5, 4));

JPanel jp1 = new JPanel();7 u8 t3 Z0 c7 p! y8 h
JButton jb11 = new JButton("查询");
# H2 c5 P+ O; n, u4 p! @$ @' gjb11.addActionListener(this);
, Q' B/ A; l: {/ N, `' f' S+ fJButton jb12 = new JButton("增加");& U; b5 S) e  ~  O
jb12.addActionListener(this);
2 q7 T. L& l9 ]3 y8 ljp1.add(jb11);
6 V% y2 T0 e# j3 P. W, m' i- ojp1.add(jb12);
9 E, v/ i. F+ v) c; I5 p2 h$ Z2 j! ?jp00.add(jp1);
6 w( M9 Q0 _- D. k7 p# n2 jJPanel jp11 = new JPanel();
5 w4 g6 r- i4 |, ?( L3 AJButton jb111 = new JButton("修改");
, V4 u, f% W$ m6 @( L- Zjb111.addActionListener(this);) ?  n! x+ e) |& ^- e
JButton jb112 = new JButton("撤除");* y6 M% u' a/ P6 X/ U4 g+ J  H
jb112.addActionListener(this);  Z0 }$ m3 m3 ~! z, s
jp11.add(jb111);) V  u4 d$ Z7 V6 z; k$ u
jp11.add(jb112);
1 I# B" R( `$ E9 H+ W$ w4 mjp00.add(jp11);$ I$ Z8 Y# R, r) |: u
JPanel jp2 = new JPanel();
( [+ O2 f9 V4 rJLabel jl2 = new JLabel("中 文 名 * ");
5 Z+ V2 ]. E) B0 Ajp2.add(jl2);
3 @! o6 C, ]. p, q, N4 [1 v  njp2.add(jtf2);1 L, \# H9 W: u; L
jp00.add(jp2);9 W1 u( f9 I/ O  l
JPanel jp3 = new JPanel();
; E  g$ ?, r5 s2 w* h0 {JLabel jl3 = new JLabel("工 号 ");
( T6 J3 ~) a# R9 ~* e: X5 \7 @jp3.add(jl3);
# z3 k: o9 `3 N/ K5 T/ W# Sjp3.add(jtf3);
0 X* S5 I/ T3 U( w2 d' _6 }/ ]) yjp00.add(jp3);$ ]$ n- N% ~3 W4 @
JPanel jp4 = new JPanel();
! T. X$ Z& u. mJLabel jl4 = new JLabel("EngName*");
9 d2 i' o7 G# B6 i( K, q3 S0 a2 Mjp4.add(jl4);
$ d- i/ ]3 Z, {4 A8 C2 z, |jp4.add(jtf4);, t7 k: f" Y! e) X+ _( j, n
jp00.add(jp4);
2 t+ g- E9 U$ |2 k2 Q3 m, ]% BJPanel jp5 = new JPanel();' t  d; L/ @& g( ]  s+ x
JLabel jl5 = new JLabel("UNIT ");
; a! V4 V! g4 m* A/ W7 V0 f& Zjp5.add(jl5);
' h0 A( W! I* J- T' L, Gjp5.add(jtf5);
" ~& B7 \2 |5 c  {& Njp00.add(jp5);; v2 Q7 ]+ H  X( P* _3 F4 j
JPanel jp6 = new JPanel();5 `  e" z9 J) F% M$ Y! `, h
JLabel jl6 = new JLabel("TEAM* ");
) Y: ]# S0 a2 v/ {! i) H; Ujp6.add(jl6);& N6 }& x7 ?6 ]8 `+ H
jp6.add(jtf6);
8 S# [1 D( C0 v; B9 y0 \jp00.add(jp6);, f9 X7 e; D+ P. V/ n/ h
JPanel jp7 = new JPanel();
4 k7 ]4 w  Z2 ?. e: b5 CJLabel jl7 = new JLabel("Phone* ");
: m' n# f# [6 n7 ijp7.add(jl7);/ a2 \0 h( P- d
jp7.add(jtf7);7 {: X. w1 C6 G! v
jp00.add(jp7);
: R9 f8 `3 _$ U+ |8 o6 J: LJPanel jp8 = new JPanel();. q: }: C2 G9 w- ]
JLabel jl8 = new JLabel("区域 ");
* n: o$ l$ B0 N4 M( c' V" U- s3 h* Ijp8.add(jl8);
% v8 W/ E( P# y0 N* r! ~jp8.add(jtf8);
5 n' M/ ]1 u/ b9 U4 Mjp00.add(jp8);6 V; G% K# T& u3 C) W3 a# T
JPanel jp9 = new JPanel();
- K  _" F$ C: J4 p! x9 h+ r+ SJLabel jl9 = new JLabel("公交站 ");
2 P! C6 a8 _# g1 ^/ Ujp9.add(jl9);
$ I3 }  Q* N( [jp9.add(jtf9);
( g* G. u" `! U- a+ b9 ^; j% L3 j% ejp00.add(jp9);
0 E, X" M0 L% b+ R' q0 @  gjf.add(jp00);, L, R: P, g7 [  u
JPanel jp01 = new JPanel();3 O! O; r% s3 r& U3 C
jta10.setText("--用户使用手册-- \n1、查询:选择一个字段,如 EngName 在文本框中输入相应内容,点击查询\n2、增加:在各个文本框中输入相应内容后,点击增加。\n3、修改:先查询到你要的记录,在更改相应内容,点击修改。\n4、撤除:类似于修改操作");
( x$ l# O8 z- l5 l, Bjp01.add(jta10);
: Z0 U" I6 k* U# ?- z# njf.add(jp01);8 w' ]) q3 B9 ~* c  ^6 p
jf.setSize(700, 500);
5 ], [5 a) q* X7 K: z0 Ojf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
3 e/ m4 E* f) W: ajf.setVisible(true);

}

public static void main(String[] args) {
) ^9 f8 H. p8 U0 s8 H. Rnew EmpManageSys();9 h  C5 ~4 v. l
}
2 a; T6 c$ r( v6 o' [: ~# R}


- G0 {/ ~/ a9 f* ^' `+ V

科帮网 1、本主题所有言论和图片纯属会员个人意见,与本社区立场无关
2、本站所有主题由该帖子作者发表,该帖子作者与科帮网享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和科帮网的同意
4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
7、科帮网管理员和版主有权不事先通知发贴者而删除本文


JAVA爱好者①群:JAVA爱好者① JAVA爱好者②群:JAVA爱好者② JAVA爱好者③ : JAVA爱好者③

29

主题

5

听众

183

金钱

三袋弟子

该用户从未签到

沙发
发表于 2014-07-28 19:36:24 |只看该作者
//---------------------------------------------------------------------" ]2 u; V6 Z7 k- j9 H9 A- h
SQL工具类JdbcUtil:用于实现数据库连接和数据库关闭。上面程序用到了这个类5 ~: o, \6 `7 q; Y
import java.sql.*;
! f3 w1 Y5 x& v: @! @4 p! Ypublic class JdbcUtil! t3 d: D) ]3 v! B  E+ T! ^/ B
{
  p& i) \8 v4 \& G//load driver from file
8 U# u' F* R- J1 nstatic{
, F3 z" A' c5 ltry{) d1 ~; ^) i4 `3 _
String driverName =
' r& ^; P' Z) P"oracle.jdbc.driver.OracleDriver";
: @& e0 ^0 h, L6 S' p& RClass.forName(driverName);
2 r- F5 U, n( w5 `5 Z}catch(Exception e){
, C) X# k) R5 ^# O  _+ f& g& Ke.printStackTrace();
* [, f! I' Q; d/ `, C' Z}0 W; m' Z9 V* e
}1 O/ f. s$ L9 J. g
//establish connection  @) @4 l3 m& o2 }- n% J
public static Connection getConnection(){) k& }+ |0 ?/ }# G9 F
Connection con = null;
; E( ^4 H+ c4 q" Vtry{
4 q1 z5 P, i( ^& _String url =
5 z  |2 _' w5 L& E, w"jdbcracle:thin192.168.0.26:1521:tarena";
- K, `8 `- @. A* U& i; ?String usr = "openlab";
( B  f. S, O& H$ o' W0 L% B  AString pwd = "open123";
8 j  }! ?. H0 ~* X. wcon = DriverManager.getConnection(
5 W2 b+ \0 H" }0 Nurl,usr,pwd);
2 G1 i) H1 j* E}catch(Exception e){9 J* D+ u, l  x- D
e.printStackTrace();2 ?! b( b& h7 T" Z" S, t/ A- u% O
}, \. f; G8 ~; I% A- H& r
return con;. [+ {1 R% I0 W1 x" J: N
}
& ?1 B5 D1 H/ f2 ]# ^) j, E: e. L! d5 _! Z* u+ ]
//close resultSet,statement and connection
8 E- K& E8 ~: D1 @: C3 y; F5 `9 h8 spublic static void close(ResultSet rs,Statement stmt,Connection con){! G& u1 ]- o5 t6 a
try{2 }& r$ b% d& w$ l( s
if(rs!=null) rs.close();. l8 e9 s4 A  H! s
}catch(Exception ex){7 }5 x/ s  |+ I) I
ex.printStackTrace();
' y# P# M/ h; w. @9 {* p}; ]0 d; {( f, d* v* `' k
try{% f; D7 Y! J+ D5 n! J- O$ T
if(stmt!=null) stmt.close();
& k. {9 }1 \% `" \- U}catch(Exception ex){
' M5 k% t$ |; m; j' S- Hex.printStackTrace();
% I9 b# K& l# k' D8 ~8 W}
+ R4 P  U  H# P4 Q% W+ itry{5 u5 |/ k5 F4 ^
if(con!=null) con.close();
1 F/ z; {. e  X$ q" R5 n}catch(Exception ex){
/ Q8 y0 I$ @7 S! A( \ex.printStackTrace();# x* ^/ C- t& {7 L1 l/ Z, {
}% y& |# }  X! u) K) j6 d( O
}
7 g2 R. d4 J/ _0 M}
回复

使用道具 举报

快速回复
您需要登录后才可以回帖 登录 | 立即注册

   

关闭

站长推荐上一条 /1 下一条

发布主题 快速回复 返回列表 联系我们 官方QQ群 科帮网手机客户端
快速回复 返回顶部 返回列表