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方法
- add(Hero h)
- delete(Hero h)
- update(Hero h)
- List<Hero> list()
DAO 接口
- DAO:Data Access Object
- 数据访问对象,把数据库相关的操作都封装在这个类里面,其他地方看不到JDBC的代码
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);
}
网友评论