一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - javaweb中mysql數據庫連接步驟方法及其實例

javaweb中mysql數據庫連接步驟方法及其實例

2020-09-12 16:02wbb Java教程

這篇文章主要介紹了使用java web 連接MySQL數據庫的驅動方法的相關知識,本文介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下

一、直接連接,不封裝到工具類中,主要步驟:

先導包:mysql-connector-java-5.0.8-bin.jar(點擊跳轉到下載界面),放在WebRoot/WEB-INF/lib/下

1.加載驅動//com.MySQL.jdbc.Driver

2.獲取連接 Connection對象

3.獲取用于向數據庫發送SQL的Statement對象

4.執行sql,獲取數據,解析數據

5.關閉連接,釋放資源

?
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
/*協議:子協議://主機:端口/數據庫名*/
Stringurl="jdbc:mysql://localhost:3306/jdbctest";
//mysql數據庫的用戶名與密碼,安裝時自己設置,一般默認為root
Stringuser="root";
Stringpassword="root";
Connectionconnection=null;
Statementstatement=null;
ResultSetresultSet=null;
try{
//1.加載驅動//com.mysql.jdbc.Driver
/*
*DriverManager.registerDriver(new
*Driver());用這種方法會加載兩次驅動,也就是說會創建兩個drive對象
*/
Class.forName("com.mysql.jdbc.Driver");
//2.獲取連接
connection=DriverManager.getConnection(url,user,password);
//3.獲取用于向數據庫發送SQL的Statement對象
statement=connection.createStatement();
//4.執行sql,獲取數據
resultSet=statement.executeQuery("SELECT*FROMusers;");
//解析數據
while(resultSet.next()){
intid=resultSet.getInt("id");
Stringname=resultSet.getString("name");
Stringpsd=resultSet.getString("password");
Stringemail=resultSet.getString("email");
Stringbirthday=resultSet.getString("birthday");
System.out.println(id+""+name+""+psd+""+email
+""+birthday);
}
}catch(ClassNotFoundExceptione){
e.printStackTrace();
}catch(SQLExceptione){
e.printStackTrace();
}finally{
//5.關閉連接,釋放資源
if(resultSet!=null){
try{
resultSet.close();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
resultSet=null;
}
if(statement!=null){
try{
statement.close();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
statement=null;
}
if(connection!=null){
try{
connection.close();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
connection=null;
}
/* 協議:子協議://主機:端口/數據庫名 */
String url = "jdbc:mysql://localhost:3306/jdbctest";
// mysql數據庫的用戶名與密碼,安裝時自己設置,一般默認為root
String user = "root";
String password = "root";
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;
try {
  // 1.加載驅動//com.mysql.jdbc.Driver
  /*
   * DriverManager.registerDriver(new
   * Driver());用這種方法會加載兩次驅動,也就是說會創建兩個drive對象
   */
  Class.forName("com.mysql.jdbc.Driver");
  // 2.獲取連接
  connection = DriverManager.getConnection(url, user, password);
  // 3.獲取用于向數據庫發送SQL的Statement對象
  statement = connection.createStatement();
  // 4.執行sql,獲取數據
  resultSet = statement.executeQuery("SELECT * FROM users;");
  // 解析數據
  while (resultSet.next()) {
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
String psd = resultSet.getString("password");
String email = resultSet.getString("email");
String birthday = resultSet.getString("birthday");
System.out.println(id + " " + name + " " + psd + " " + email
+ " " + birthday);
  }
} catch (ClassNotFoundException e) {
  e.printStackTrace();
} catch (SQLException e) {
  e.printStackTrace();
} finally {
    //5.關閉連接,釋放資源
  if (resultSet != null) {
try {
  resultSet.close();
} catch (SQLException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
}
resultSet = null;
  }
  if (statement != null) {
try {
  statement.close();
} catch (SQLException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
}
statement = null;
  }
  if (connection != null) {
try {
  connection.close();
} catch (SQLException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
}
connection = null;
  }
}

二、將數據庫連接封裝成一個工具類

這樣做的好處是,在實際開發中,就能做到,改一處即可修改全局。

1.建一個名為db.properties的配置文件,放于src/

?
1
2
3
4
url=jdbc:mysql://localhost:3306/jdbctest
username=root
password=root
driver=com.mysql.jdbc.Driver

2.工具類:

?
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
importjava.io.IOException;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.sql.Statement;
importjava.util.Properties;
publicclassJdbcUtil{
//私有靜態變量,用以讀取配置文件
privatestaticPropertiesconfig=newProperties();
static{
try{
//配置資源文件
config.load(JdbcUtil.class.getClassLoader().getResourceAsStream("db.properties"));
//加載驅動
Class.forName(config.getProperty("driver"));
}catch(IOExceptione){
e.printStackTrace();
}catch(ClassNotFoundExceptione){
e.printStackTrace();
}
}
publicstaticConnectiongetConnection(){
Connectionconnection=null;
try{
connection=DriverManager.getConnection(config.getProperty("url"),config.getProperty("username"),config.getProperty("password"));
}catch(SQLExceptione){
e.printStackTrace();
}
returnconnection;
}
//用以關閉連接,釋放資源
publicstaticvoidreleaseConn(Connectionconnection,Statementstatement,
ResultSetresultSet){
if(resultSet!=null){
try{
resultSet.close();
}catch(SQLExceptione){
e.printStackTrace();
}
resultSet=null;
}
if(statement!=null){
try{
statement.close();
}catch(SQLExceptione){
e.printStackTrace();
}
statement=null;
}
if(connection!=null){
try{
connection.close();
}catch(SQLExceptione){
e.printStackTrace();
}
connection=null;
}
}
}

3.使用實例:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Connectionconnection=null;
Statementstatement=null;
ResultSetresultSet=null;
try{
//調用工具類中的靜態方法來獲取連接
connection=JdbcUtil.getConnection();
statement=connection.createStatement();
resultSet=statement.executeQuery("select*fromusers");
while(resultSet.next()){
intid=resultSet.getInt("id");
Stringname=resultSet.getString("name");
Stringpsd=resultSet.getString("password");
Stringemail=resultSet.getString("email");
Stringbirthday=resultSet.getString("birthday");
System.out.println(id+""+name+""+psd+""+email
+""+birthday);
}
}catch(Exceptione){
e.printStackTrace();
}finally{
//調用工具類中的靜態方法來關閉連接,釋放資源
JdbcUtil.releaseConn(connection,statement,resultSet);
}

希望本文可以對需要的朋友有幫助

原文鏈接:http://www.2cto.com/kf/201702/596389.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美久久久久久 | 97久久精品午夜一区二区 | 日本www视频在线观看 | 91精品婷婷国产综合久久8 | 九九久久精品 | 2019亚洲男人天堂 | 免费人成黄页在线观看69 | 香蕉视频在线观看网址 | 欧美午夜性春猛交bbb | 无码精品AV久久久奶水 | 青青操在线 | 97操| 男人插女人软件 | 美女扒开腿让男人桶爽免费gif | 亚洲不卡视频在线观看 | 完整秽淫刺激长篇小说 | 四虎网址在线 | 九九99香蕉在线视频美国毛片 | 99精品国产成人一区二区 | 貂蝉沦为姓奴小说 | 日韩毛片在线影视 | 99久久www免费| 2018亚洲男人天堂 | 四虎影视最新 | 亚洲欧美一级夜夜爽w | 免费全看男女拍拍拍的视频 | 2012中文字幕中字视频 | 精品久久免费视频 | 日本丰满www色 | 日韩黄色影视 | 四虎影院观看 | 极限淫生小说 | 日韩黄色录像 | 黑人群性xxx | 日本天堂视频 | 99热精品国产麻豆 | 国产亚洲小视频 | h黑寡妇一级毛片 | 国产欧美va欧美va香蕉在线观看 | 欧美性理论片在线观看片免费 | 四虎国产欧美成人影院 |