1. 程式人生 > 實用技巧 >Java自學-JDBC ORM

Java自學-JDBC ORM

使用JDBC做一個ORM例子

ORM=Object Relationship Database Mapping

物件和關係資料庫的對映

簡單說,一個物件,對應資料庫裡的一條記錄

步驟 1 : 根據id返回一個Hero物件

提供方法get(int id)
返回一個Hero物件

package charactor;
 
public class Hero {
    //增加id屬性
    public int id;
    public String name;
    public float hp;
    public int damage;
 
}
package jdbc;
   
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
  
import charactor.Hero;
   
public class TestJDBC {
   
    public static Hero get(int id) {
        Hero hero = null;
        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
 
        try (Connection c = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/how2java?characterEncoding=UTF-8","root", "admin");
            Statement s = c.createStatement();) {
 
            String sql = "select * from hero where id = " + id;
   
            ResultSet rs = s.executeQuery(sql);
   
            // 因為id是唯一的,ResultSet最多隻能有一條記錄
            // 所以使用if代替while
            if (rs.next()) {
                hero = new Hero();
                String name = rs.getString(2);
                float hp = rs.getFloat("hp");
                int damage = rs.getInt(4);
                hero.name = name;
                hero.hp = hp;
                hero.damage = damage;
                hero.id = id;
            }
   
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return hero;
   
    }
   
    public static void main(String[] args) {
           
        Hero h = get(22);
        System.out.println(h.name);
   
    }
}

步驟 2 : 練習-ORM

根據ORM的思想,設計其他幾個常見的ORM方法:

把一個Hero物件插入到資料庫中

public static void add(Hero h)

把這個Hero物件對應的資料刪除掉

public static void delete(Hero h)

更新這條Hero物件

public static void update(Hero h)

把所有的Hero資料查詢出來,轉換為Hero物件後,放在一個集合中返回

public static List list();


更多內容,點選瞭解: 使用JDBC做一個ORM例子