JDBCUtils.java

    1. package mySqldb;
    2. import java.io.FileReader;
    3. import java.io.IOException;
    4. import java.net.URL;
    5. import java.sql.*;
    6. import java.util.Properties;
    7. /**
    8. * JDBC工具类
    9. */
    10. public class JDBCUtils {
    11. private static String url;
    12. private static String user;
    13. private static String password;
    14. /**
    15. * 文件的读取,只需要读取一次即可拿到这些值。使用静态代码块
    16. */
    17. static{
    18. //读取资源文件,获取值。
    19. try {
    20. //1. 创建Properties集合类。
    21. Properties pro = new Properties();
    22. //获取src路径下的文件的方式--->ClassLoader 类加载器
    23. ClassLoader classLoader = JDBCUtils.class.getClassLoader();
    24. URL res = classLoader.getResource("jdbc.properties");
    25. // assert res != null;
    26. String path = res.getPath();
    27. //2. 加载文件
    28. pro.load(new FileReader(path));
    29. //3. 获取数据,赋值
    30. url = pro.getProperty("url");
    31. user = pro.getProperty("user");
    32. password = pro.getProperty("password");
    33. String driver = pro.getProperty("driver");
    34. //4. 注册驱动
    35. Class.forName(driver);
    36. } catch (IOException e) {
    37. e.printStackTrace();
    38. } catch (ClassNotFoundException e) {
    39. e.printStackTrace();
    40. }
    41. }
    42. /**
    43. * 获取连接
    44. * @param dataBaseName 操作的数据库
    45. * @return 连接对象
    46. */
    47. public static Connection getConnection(String dataBaseName) throws SQLException {
    48. String source=url+dataBaseName;
    49. return DriverManager.getConnection(source, user, password);
    50. }
    51. /**
    52. * 释放资源
    53. * @param stmt SQL执行对象
    54. * @param conn SQL连接对象
    55. */
    56. public static void close(Statement stmt,Connection conn){
    57. if( stmt != null){
    58. try {
    59. stmt.close();
    60. } catch (SQLException e) {
    61. e.printStackTrace();
    62. }
    63. }
    64. if( conn != null){
    65. try {
    66. conn.close();
    67. } catch (SQLException e) {
    68. e.printStackTrace();
    69. }
    70. }
    71. }
    72. /**
    73. * 释放资源
    74. * @param rs 结果集
    75. * @param stmt SQL执行对象
    76. * @param conn SQL连接对象
    77. */
    78. public static void close(ResultSet rs,Statement stmt, Connection conn){
    79. if( rs != null){
    80. try {
    81. rs.close();
    82. } catch (SQLException e) {
    83. e.printStackTrace();
    84. }
    85. }
    86. if( stmt != null){
    87. try {
    88. stmt.close();
    89. } catch (SQLException e) {
    90. e.printStackTrace();
    91. }
    92. }
    93. if( conn != null){
    94. try {
    95. conn.close();
    96. } catch (SQLException e) {
    97. e.printStackTrace();
    98. }
    99. }
    100. }
    101. }

    jdbc.properties

    1. driver=com.mysql.jdbc.Driver
    2. user=root
    3. password=317499
    4. url=jdbc:mysql://127.0.0.1:3306/