使用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<Hero> list();
更多内容,点击了解: 使用JDBC做一个ORM例子