dljd_010_封装JdbcUtil工具类
一、jdbc连接数据库的封装
package edu.aeon.utils; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; /** * [说明]:jdbc工具类 * 封装了jdbc里面的重复步骤:数据库的连接和数据库资源的释放 * @author aeon * @version 1.1(该版本将连接数据库的各种信息(用户名、密码、驱动即url固化在该工具类中)) * 下个版本将连接数据库所需的信息放入配置文件 */ public class AeonJdbcUtils { private static String username="root"; private static String password="root"; private static String driver="com.mysql.jdbc.Driver"; private static String url="jdbc:mysql://localhost:3306/db_test"; /** * 连接数据库 * @return 数据库连接对象 * @throws ClassNotFoundException * @throws SQLException */ public static Connection getMySqlConnection() throws ClassNotFoundException, SQLException{ Class.forName(driver); return DriverManager.getConnection(url, username, password); } /** * 释放数据库资源 * @param resultSet 结果集 * @param statement 执行sql语句的对象 * @param connection 数据库连接对象 */ public static void closeDB(ResultSet resultSet,Statement statement,Connection connection){ if(null!=resultSet){ try { resultSet.close(); } catch (SQLException e) { System.out.println("释放数据库资源失败!--->resultSet"); e.printStackTrace(); } } if(null!=statement){ try { statement.close(); } catch (SQLException e) { System.out.println("释放数据库资源失败!--->statement"); e.printStackTrace(); } } if(null!=connection){ try { connection.close(); } catch (SQLException e) { System.out.println("释放数据库资源失败!--->connection"); e.printStackTrace(); } } } }
测试类:
package edu.aeon.utils; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; /** * [说明]:测试封装的工具类 * @author aeon * */ public class Test { public static void main(String[] args) { Connection connection = null; Statement statement =null; ResultSet resultSet = null; try { connection = AeonJdbcUtils.getMySqlConnection(); statement = connection.createStatement(); String sql="select * from user"; resultSet = statement.executeQuery(sql); System.out.println("用户id\t用户名\t用户密码"); while(resultSet.next()){ int userId=resultSet.getInt("userId");//根据表字段名获取该行记录上的字段名所对应的字段值 String userName=resultSet.getString("userName"); String userPw=resultSet.getString("userpw");//数据库中的字段不区分大小写 System.out.println(userId+"\t"+userName+"\t"+userPw); } } catch (ClassNotFoundException e) { System.out.println("加载驱动失败!"); e.printStackTrace(); } catch (SQLException e) { System.out.println("连接数据库失败!"); e.printStackTrace(); }finally{ AeonJdbcUtils.closeDB(resultSet, statement, connection);
} } }
如果关闭资源中不存在某个资源对象则直接传递个null!
测试结果:
数据库截图:
三、该工具类的API
edu.aeon.utils
类 AeonJdbcUtils
- java.lang.Object
-
- edu.aeon.utils.AeonJdbcUtils
public class AeonJdbcUtils extends Object
[说明]:jdbc工具类 封装了jdbc里面的重复步骤:数据库的连接和数据库资源的释放- 版本:
- 1.1(该版本将连接数据库的各种信息(用户名、密码、驱动即url固化在该工具类中)) 下个版本将连接数据库所需的信息放入配置文件
- 作者:
- aeon
-
-
构造器概要
构造器 构造器和说明 AeonJdbcUtils()
-
-
-
方法详细资料
-
getMySqlConnection
public static Connection getMySqlConnection() throws ClassNotFoundException, SQLException
连接数据库- 返回:
- 数据库连接对象
- 抛出:
ClassNotFoundException
SQLException
-
closeDB
public static void closeDB(ResultSet resultSet, Statement statement, Connection connection)
释放数据库资源- 参数:
resultSet
- 结果集statement
- 执行sql语句的对象connection
- 数据库连接对象
-
-