来源:ChuckMa 发布时间:2018-11-21 14:15:04 阅读量:1213
这是数据库增删改查的Java代码,随即写下来!Java部分的代码全部在这里了
第一个实体类Emp
public class Emp {
private String empName;
private int empId;
public String getEmpName() {
return empName;
}
public void setEmpName(String empName) {
this.empName = empName;
}
public int getEmpId() {
return empId;
}
public void setEmpId(int empId) {
this.empId = empId;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
第二个类BaseDao(公共部分),代码如下:
public class BaseDao {
/**
*
* @param conn 连接对象
* @param sql sql 语句
* @param param 此数组,装的是sql语句中的问题的替代数据
* @throws Exception
*/
public void exeSql(Connection conn, String sql, Object[] param)
throws Exception {
PreparedStatement pst = null;
pst = conn.prepareStatement(sql);
if (param != null) {
for (int i = 0; i < param.length; i++) {
pst.setObject(i + 1, param[i]);
}
}
pst.executeUpdate();
}
/**
* 得到查询结果集
* @param conn
* @param sql
* @param param
* @return 返回结果集rs
* @throws Exception
*/
public ResultSet getRs(Connection conn, String sql, Object[] param)
throws Exception {
PreparedStatement pst = null;
pst = conn.prepareStatement(sql);
ResultSet rs = null;
if (param != null) {
for (int i = 0; i < param.length; i++) {
pst.setObject(i + 1, param[i]);
}
}
rs = pst.executeQuery();
return rs;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
第三个类EmpDao ,代码如下:
public class EmpDao extends BaseDao{
/**
* 建表
* @param conn
* @throws Exception
*/
public void createTable(Connection conn)throws Exception{
String sql = "create table emp (empId tinyint primary key,empName varchar(20))";
Object [] param = null;
this.exeSql(conn,sql,param);//???
}
/**
* 数据添加
* @param conn
* @param emp
* @throws Exception
*/
public void addEmp(Connection conn,Emp emp) throws Exception{
String sql = "insert into emp(empId,empName) values(?,?)";
Object [] param = {emp.getEmpId(),emp.getEmpName()};
this.exeSql(conn,sql,param);
}
/**
* 数据删除
* @param conn
* @param empId
* @throws Exception
*/
public void deleteEmpById(Connection conn,int empId)throws Exception{
String sql= "delete from emp where empId=?";
Object [] param = {empId};
this.exeSql(conn,sql,param);
}
/**
* 数据更新
* @param conn
* @param emp
* @throws Exception
*/
public void updateEmp(Connection conn,Emp emp)throws Exception{
String sql ="update emp set empName=? where empId=?";
Object []param ={emp.getEmpName(),emp.getEmpId()};
this.exeSql(conn,sql,param);
}
/**
* 数据查询
* @param conn
* @return
* @throws Exception
*/
public ArrayList<Emp> findAllEmps(Connection conn)throws Exception{
String sql ="select *from emp";
Object [] param = null;
ResultSet rs = this.getRs(conn,sql,param);
ArrayList<Emp> empList = new ArrayList<Emp>();
while(rs.next()){
Emp emp = new Emp();
emp.setEmpId(rs.getInt("empId"));
emp.setEmpName(rs.getString("empName"));
empList.add(emp);
}
return empList;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
第四个类 工具类DbHelper ,代码如下:
/**
* 连接和关闭
* @author Administrator
* static关键字,标识为可以用类名直接调用类的属性或方法。
*/
public class DbHelper {
public static Connection getConn()throws Exception{
Connection conn = null;
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mysql","root","1234567");
return conn;
}
public static void closeConn(Connection conn)throws Exception{
if(conn!=null){
conn.close();
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
第五个类 Service 服务层,代码如下:
public class EmpService {
/**
* 建表服务
*/
public void create() {
Connection conn = null;
try {
conn = DbHelper.getConn();
conn.setAutoCommit(false); //设置手动提交
EmpDao empDao = new EmpDao();
empDao.createTable(conn); //???
conn.commit(); //提交
DbHelper.closeConn(conn);
System.out.println("表创建成功");
} catch (Exception e) {
e.printStackTrace();
try {
conn.rollback();
} catch (SQLException e1) {
e1.printStackTrace();
}
}
}
/**
* 添加
* @param emp
*/
public void add(Emp emp) {
Connection conn = null;
try {
conn = DbHelper.getConn();
conn.setAutoCommit(false);
EmpDao empDao = new EmpDao();
empDao.addEmp(conn, emp);
conn.commit();
DbHelper.closeConn(conn);
System.out.println("数据添加成功");
} catch (Exception e) {
e.printStackTrace();
try {
conn.rollback();
} catch (SQLException e1) {
e1.printStackTrace();
}
}
}
/**
* 删除
* @param empId
*/
public void delete(int empId) {
Connection conn = null;
try {
conn = DbHelper.getConn();
conn.setAutoCommit(false);
EmpDao empDao = new EmpDao();
empDao.deleteEmpById(conn, empId);
conn.commit();
DbHelper.closeConn(conn);
System.out.println("数据删除成功");
} catch (Exception e) {
e.printStackTrace();
try {
conn.rollback();
} catch (SQLException e1) {
e1.printStackTrace();
}
}
}
/**
* 修改
* @param emp
*/
public void update(Emp emp) {
Connection conn = null;
try {
conn = DbHelper.getConn();
conn.setAutoCommit(false);
EmpDao empDao = new EmpDao();
empDao.updateEmp(conn, emp);
conn.commit();
DbHelper.closeConn(conn);
System.out.println("数据更新成功");
} catch (Exception e) {
e.printStackTrace();
try {
conn.rollback();
} catch (SQLException e1) {
e1.printStackTrace();
}
}
}
/**
* 查询
* @return
*/
public ArrayList<Emp> findAllEmps() {
Connection conn = null;
ArrayList<Emp> empList = null;
try {
conn = DbHelper.getConn();
conn.setAutoCommit(false);
EmpDao empDao = new EmpDao();
empList = empDao.findAllEmps(conn);
conn.commit();
DbHelper.closeConn(conn);
System.out.println("数据查询完毕!");
} catch (Exception e) {
e.printStackTrace();
try {
conn.rollback();
} catch (SQLException e1) {
e1.printStackTrace();
}
}
return empList;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
第六个类 测试类 Test ,代码如下:
public class EmpTest {
public static void main(String[] args) {
Emp emp = new Emp();
emp.setEmpId(1);
emp.setEmpName("阿童木");
EmpService es = new EmpService();
// es.create(); //???
// es.add(emp);
// es.delete(66);
es.update(emp);
ArrayList<Emp> empList = es.findAllEmps();
for (int i = 0; i < empList.size(); i++) {
Emp emp2 = empList.get(i);
System.out.println("姓名:" + emp2.getEmpName() + " 序号:"
+ emp2.getEmpId());
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
本次使用的数据库是mysql数据库!不足之处希望各位指出,我们共同学习,总结,进步!
---------------------