javaweb中mysql数据库连接步骤方法及其实例

2025-05-29 0 36

一、直接连接,不封装到工具类中,主要步骤:

先导包: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

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 javaweb中mysql数据库连接步骤方法及其实例 https://www.kuaiidc.com/117317.html

相关文章

发表评论
暂无评论