這裏咱們使用的是mysql數據庫因此咱們須要引入mysql驅動。右鍵項目點擊properties》》》而後在下面這個界面點擊Add External JARs...,把mysql-jdbc驅動鏈接進來。java
下面是我寫的一個模板代碼(供你們參考使用):mysql
package com.util.dbmethod; import java.sql.*; /** * @author yuanmuou * @功能:數據庫函數集合 * @要求:須要引入mysql-jdbc驅動 */ public class Database { private static final String user = "root";// 數據庫用戶名 private static final String password = "123";// 數據庫密碼 private static String dbname = "shop";// 數據庫名 static PreparedStatement prestate=null; private static final String driver = "com.mysql.jdbc.Driver"; private static Connection connect = null;// 數據庫鏈接 private static final String url = "jdbc:mysql://localhost:3306/" + dbname + "?useUnicode=true&characterEncoding=UTF-8"; static { try { Class.forName(driver); } catch (Exception e) { e.printStackTrace(); System.out.println("錯誤:加載驅動失敗,請檢查驅動是否加載。錯誤信息:" + e.getMessage()); } } /** * @return boolean 檢查是否設置了數據庫 */ public static boolean isSetDbname() { if (dbname == null || dbname.equals("")) return false; else return true; } /** * @return Connection 數據庫鏈接對象 */ public static Connection getConnection() { if (connect == null) { try { if (isSetDbname()) connect = DriverManager.getConnection(url, user, password); else { System.out.println("錯誤:未設置數據庫名"); } } catch (SQLException e) { System.out.println("錯誤:數據庫鏈接失敗,請檢查數據庫名,密碼,用戶名是否正確"); e.printStackTrace(); } return connect; } return connect; } /** * @param string sql SQL語句 * @功能 執行SQL查詢 * @返回 結果集 */ public static ResultSet doQuery(String sql){ if((connect=getConnection())==null) return null; else{ try { ResultSet resultset = prestate.executeQuery(sql); return resultset; } catch (SQLException e) { System.out.println("錯誤:sql語句執行出錯"); e.printStackTrace(); } } return null; } /** * 下面是示例程序(能夠刪除) */ public static void main(String[] args) { try { Connection con = Database.getConnection(); if (con != null) { System.out.println("數據庫鏈接正常"); } else { System.out.println("數據庫鏈接失敗"); } } catch (Exception e) { e.printStackTrace(); } } }
遍歷結果集實例:sql
List<User> users = new ArrayList<>(); while (rs.next()) { User user = new User(); user.setAvatar(rs.getString("avatar")); user.setDescription(rs.getString("description")); user.setEmail(rs.getString("email")); user.setId(rs.getLong("id")); user.setPassword(rs.getString("password")); user.setTitle(rs.getString("title")); user.setUsername(rs.getString("username")); users.add(user); }
MySQL數據類型 | Java數據類型 | ResultSet方法 |
---|---|---|
CHAR | String | String getString() |
VARCHAR | String | String getString() |
LONGVARCHAR | String | InputStream getAsciiStream() |
NUMERIC | java.math.BigDecimal | java.math.BigDecimal getBigDecimal() |
DECIMAL | java.math.BigDecimal | java.math.BigDecimal getBigDecimal() |
BIT | Boolean | boolean getBoolean() |
TINYINT | Integer | byte getByte() |
SMALLINT | Integer | short getShort() |
INTEGER | Integer | int getInt() |
BIGINT | Long | long getLong() |
REAL | Float | float getFloat() |
FLOAT | Double | double getDouble() |
DOUBLE | Double | double getDouble() |
BINARY | byte[] | byte[] getBytes() |
VARBINARY | byte[] | byte[] getBytes() |
LONGVARBINARY | byte[] | getBinaryStream() |
DATE | java.sql.Date | java.sql.Date getDate() |
TIME | Java.sql.Time | java.sql.Time getTime() |
TIMESTAMP | Java.sql.Timestamp | java.sql.Timestamp getTimestamp() |