一共有六個步驟java
使用IDEA創建maven工程時,能夠直接在pom文件中進行mysql驅動包的導入;若不使用maven進行jar包導入,可自行進行添加;mysql
MySQL驅動的maven座標:sql
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.23</version> </dependency>
在resources文件夾下創建database.properties文件,將數據庫信息寫入:數據庫
driver = com.mysql.cj.jdbc.Driver url = jdbc:mysql://localhost:3306/zzu?serverTimezone=UTC&characterEncoding=utf-8 user = root password = XXXX
在util工具類中,利用靜態代碼塊進行驅動的註冊maven
static{ pro = new Properties(); try{ pro.load(jdbcutils.class.getClassLoader().getResourceAsStream("database.properties")); Class.forName(pro.getProperty("driver")); }catch(Exception exce){ exce.printStackTrace(); } }
在util工具類中,利用靜態方法getConnection來生成數據庫鏈接函數
public static Connection getConnection(Connection conn){ if(conn == null){ try{ conn = DriverManager.getConnection(pro.getProperty("url"), pro.getProperty("user"),pro.getProperty("password")); }catch (Exception e){ System.out.println("獲取鏈接出錯"); } } return conn; }
在主函數中,使用工具類util的靜態方法getConnection來獲取數據庫鏈接工具
Connection conn = null; conn = jdbcutils.getConnection(conn);
利用獲取的conn鏈接來進行PreparedStatem獲取url
PreparedStatement prop = conn.prepareStatement("select * from userinfo");
使用prop進行SQL語句的執行設計
ResultSet rs = prop.executeQuery();
使用ResultSet的next()方法來進行結果集的遍歷code
//括號中的參數名稱與數據庫表的列名一一對應 while(rs.next()){ int id = rs.getInt("id"); String college = rs.getString("college"); String name = rs.getString("name"); int picId = rs.getInt("pic_id"); System.out.println(id + " " + college + " " + name + " " +picId ); }
在最後進行數據庫鏈接的關閉
在工具類utils中進行數據庫關閉靜態方法的設計
//先開後關的原則 private static void connClose(Connection conn, ResultSet rs,PreparedStatement prep){ if(rs != null){ try{ rs.close(); }catch (SQLException exception){ exception.printStackTrace(); }finally { rs = null; } } if(prep != null){ try{ prep.close(); }catch (SQLException exception){ exception.printStackTrace(); }finally { prep = null; } } if(conn != null){ try{ conn.close(); }catch (SQLException exception){ exception.printStackTrace(); }finally { conn = null; } } }
經過以上六個步驟能夠獲取到數據庫中的數據,注意數據庫配置中的驅動和URL時區問題