好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

java中封装JDBC工具类的实例分析

对于能够重复使用的代码,我们最好的方法是对它们进行封装,然后在下次使用的使用就可以直接调用了。本篇所要提到的是JDBC工具类,相信大家在学习java时都接触过。那么对于封装它的方法,本篇先对工具类进行简单的说明,列出有关的封装步骤,然后带来相关的实例。

1、说明

在java开发过程中,代码中时常用到一些Scanner、Random一样的类,他们是键盘录入,生成随机数的类,像一个工具一样,在java中被称为工具类。

2、步骤

封装JDBC工具类

加入获取数据库连接对象的方法

加入释放连接的方法

3、实例

?

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

package com.qianfeng.util;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

/**

  * JDBC工具类

  * 有获取连接的方法

  * @author dushine

  */

public class JDBCUtil {

/**

  * 获取数据库连接的方法

  * @return Connection conn

  * @throws SQLException

  */

public static Connection getConnection() throws SQLException {

String url = "jdbc:mysql://localhost:3306/class?useSSL=false" ;

String user = "root" ;

String password = "root" ;

Connection conn = DriverManager.getConnection(url,user,password);

return conn;

}

/**

  * 释放连接的方法

  * @param conn

  * @throws SQLException

  */

public static void releaseSourse(Connection conn) throws SQLException {

if (conn != null ) {

conn.close();

}

}

/**

  * 释放连接的方法

  * @param conn 数据库连接对象

  * @param stmt 执行SQL语句的对象

  * @throws SQLException

  */

public static void releaseSourse(Connection conn,Statement stmt) throws SQLException {

if (stmt != null ) {

stmt.close();

}

if (conn != null ) {

conn.close();

}

}

/**

  * 释放连接的方法

  * @param conn 数据库连接对象

  * @param stmt 执行SQL语句的对象

  * @param resultSet 执行SQL语句的返回的结果集

  * @throws SQLException

  */

public static void releaseSourse(Connection conn,Statement stmt,ResultSet resultSet) throws SQLException {

if (resultSet != null ) {

resultSet.close();

}

if (stmt != null ) {

stmt.close();

}

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

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

public class JDBCUtil {

   //连接对象

   private Connection connection = null ;

   //数据库操作对象

   private PreparedStatement ps = null ;

   //数据库连接地址

   private static String url = "jdbc:mysql://localhost:3306/" ;

   //用户名

   private static String user = "root" ;

   //密码

   private static String password = "123456" ;

   //静态代码块 注册驱动

   //类加载的时候,只执行一次

   static {

     try {

       Class.forName( "com.mysql.jdbc.Driver" );

     } catch (ClassNotFoundException e) {

       e.printStackTrace();

     }

   }

 

   //获取连接对象

   public Connection getConnection(){

     //Connection conn = null;

     try {

       connection = DriverManager.getConnection(url,user,password);

     } catch (SQLException e) {

       e.printStackTrace();

       System.out.println( "数据库连接失败...." );

     }

     System.out.println( "数据库连接成功..." );

     return connection;

   }

 

   //获取数据库操作对象

   public PreparedStatement createPreparedStatement(String sql){

     connection = getConnection();

     try {

       ps = connection.prepareStatement(sql);

     } catch (SQLException e) {

       e.printStackTrace();

     }

     return ps;

   }

 

   //释放资源

   public void close(){

     //释放连接对象

     if (connection != null ) {

       try {

         connection.close();

       } catch (SQLException e) {

         e.printStackTrace();

       }

     }

     //释放数据库操作对象

     if (ps != null ) {

       try {

         ps.close();

       } catch (SQLException e) {

         e.printStackTrace();

       }

     }

     System.out.println( "释放资源成功..." );

   }

   //方法的重载

   public void close(ResultSet reuslt){

     // 调用释放资源的方法

     close();

     // 释放查询结果集对象

     if (reuslt != null ) {

       try {

         reuslt.close();

       } catch (SQLException e) {

         e.printStackTrace();

       }

     }

   }

 

}

到此这篇关于java中封装JDBC工具类的实例分析的文章就介绍到这了,更多相关java中如何封装JDBC工具类内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

原文链接:https://HdhCmsTestpy.cn/java/jiaocheng/27146.html

查看更多关于java中封装JDBC工具类的实例分析的详细内容...

  阅读:16次