JDBC:ORM与DAO

2019-04-12  本文已影响0人  KaveeDJ

ORM:Object Relationship Database Mapping,对象和关系数据库的映射,简单地说,一个对象,对应数据库里的一条记录

根据id,返回一个Hero对象

public class TestJDBC {

    public static void main(String[] args) {
        
        // demo7();
        
        Hero h = get(22);
        System.out.println(h.name);
    }

    private static Hero get(int id) {
        
        Hero hero = null;
        
        // 加载数据库驱动
        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            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);
                
                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;
    }
}

根据ORM的思想,设计其他几个常见的ORM方法

DAO 接口

package jdbc;

import java.util.List;

import charactor.Hero;

public interface DAO {
    // 增加
    public void add(Hero hero);
    // 修改
    public void update(Hero hero);
    // 删除
    public void delete(int id);
    // 查询
    public List<Hero> list();
    // 分页查询
    public List<Hero> list(int start, int count);
}
上一篇 下一篇

猜你喜欢

热点阅读