本文實(shí)例講述了java操作mysql實(shí)現(xiàn)增刪改查的方法。分享給大家供大家參考,具體如下:
首先,需要把MySQL與Java連接的jar(mysql-connector-java-5.1.6-bin.jar)包導(dǎo)入工程.
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
|
package com.cn.edu; import java.beans.Statement; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class helloworld { private Connection conn = null ; PreparedStatement statement = null ; // connect to MySQL void connSQL() { String url = "jdbc:mysql://localhost:3306/hello?characterEncoding=UTF-8" ; String username = "root" ; String password = "root" ; // 加載驅(qū)動程序以連接數(shù)據(jù)庫 try { Class.forName( "com.mysql.jdbc.Driver" ); conn = DriverManager.getConnection( url,username, password ); } //捕獲加載驅(qū)動程序異常 catch ( ClassNotFoundException cnfex ) { System.err.println( "裝載 JDBC/ODBC 驅(qū)動程序失敗。" ); cnfex.printStackTrace(); } //捕獲連接數(shù)據(jù)庫異常 catch ( SQLException sqlex ) { System.err.println( "無法連接數(shù)據(jù)庫" ); sqlex.printStackTrace(); } } // disconnect to MySQL void deconnSQL() { try { if (conn != null ) conn.close(); } catch (Exception e) { System.out.println( "關(guān)閉數(shù)據(jù)庫問題 :" ); e.printStackTrace(); } } // execute selection language ResultSet selectSQL(String sql) { ResultSet rs = null ; try { statement = conn.prepareStatement(sql); rs = statement.executeQuery(sql); } catch (SQLException e) { e.printStackTrace(); } return rs; } // execute insertion language boolean insertSQL(String sql) { try { statement = conn.prepareStatement(sql); statement.executeUpdate(); return true ; } catch (SQLException e) { System.out.println( "插入數(shù)據(jù)庫時出錯:" ); e.printStackTrace(); } catch (Exception e) { System.out.println( "插入時出錯:" ); e.printStackTrace(); } return false ; } //execute delete language boolean deleteSQL(String sql) { try { statement = conn.prepareStatement(sql); statement.executeUpdate(); return true ; } catch (SQLException e) { System.out.println( "插入數(shù)據(jù)庫時出錯:" ); e.printStackTrace(); } catch (Exception e) { System.out.println( "插入時出錯:" ); e.printStackTrace(); } return false ; } //execute update language boolean updateSQL(String sql) { try { statement = conn.prepareStatement(sql); statement.executeUpdate(); return true ; } catch (SQLException e) { System.out.println( "插入數(shù)據(jù)庫時出錯:" ); e.printStackTrace(); } catch (Exception e) { System.out.println( "插入時出錯:" ); e.printStackTrace(); } return false ; } // show data in ju_users void layoutStyle2(ResultSet rs) { System.out.println( "-----------------" ); System.out.println( "執(zhí)行結(jié)果如下所示:" ); System.out.println( "-----------------" ); System.out.println( " 用戶ID" + "/t/t" + "淘寶ID" + "/t/t" + "用戶名" + "/t/t" + "密碼" ); System.out.println( "-----------------" ); try { while (rs.next()) { System.out.println(rs.getInt( "ju_userID" ) + "/t/t" + rs.getString( "taobaoID" ) + "/t/t" + rs.getString( "ju_userName" ) + "/t/t" + rs.getString( "ju_userPWD" )); } } catch (SQLException e) { System.out.println( "顯示時數(shù)據(jù)庫出錯。" ); e.printStackTrace(); } catch (Exception e) { System.out.println( "顯示出錯。" ); e.printStackTrace(); } } public static void main(String args[]) { helloworld h = new helloworld(); h.connSQL(); String s = "select * from ju_users" ; String insert = "insert into ju_users(ju_userID,TaobaoID,ju_userName,ju_userPWD) values(" + 8329 + "," + 34243 + ",'mm','789')" ; String update = "update ju_users set ju_userPWD =123 where ju_userName= 'mm'" ; String delete = "delete from ju_users where ju_userName= 'mm'" ; if (h.insertSQL(insert) == true ) { System.out.println( "insert successfully" ); ResultSet resultSet = h.selectSQL(s); h.layoutStyle2(resultSet); } if (h.updateSQL(update) == true ) { System.out.println( "update successfully" ); ResultSet resultSet = h.selectSQL(s); h.layoutStyle2(resultSet); } if (h.insertSQL(delete) == true ) { System.out.println( "delete successfully" ); ResultSet resultSet = h.selectSQL(s); h.layoutStyle2(resultSet); } h.deconnSQL(); } } |
notice:
1、現(xiàn)在一般用的驅(qū)動是com.mysql.jdbc.Driver
,以前的那個什么org的驅(qū)動雖然封裝了com.mysql.jdbc.Driver
,但不好用,過時了。
2、prepareStatement(sql)
是statement
的子類,比statement好用。
3、如果數(shù)據(jù)庫中定義的是int值,那么sql語句中要把int單獨(dú)提出來。如".....values("+8329+","+34243+",'mm','789')"
希望本文所述對大家java程序設(shè)計(jì)有所幫助。