Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2316356
  • 博文数量: 252
  • 博客积分: 5472
  • 博客等级: 大校
  • 技术积分: 3107
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-17 18:39
文章分类

全部博文(252)

文章存档

2012年(96)

2011年(156)

分类: Java

2011-12-23 20:33:45

在Hibernate出现之前 对数据库的操作都是基于JDBC的 这中间经历了操作JDBC 封装JDBC ORM三个阶段

1)操作JDBC阶段
 

        try {
            Class.forName(driver);
            Connection conn 
= DriverManager.getConnection(url, "root""123");
            Statement stmt 
= conn.createStatement();
            String sql 
= "select * from users";
            ResultSet rs 
= stmt.executeQuery(sql);
        }
 catch (Exception e) {
            out.println(e.getMessage());
        }

定义查询或者更新的SQL语句

加载数据库驱动程序

创建数据库连接

创建申明对象

执行查询或者更新

关闭结果集对象 申明对象 数据连接对象 

 

这段代码我们都已经和熟悉了,但是这种方式重复代码比较多,同时我们的业务逻辑也体现不是很明显,所以这种方式我们很少在企业中使用。

2)封装JDBC阶段
在第一种直接连库的方式上做了改进,我们将连库代码和执行SQL语句的方法进行封装。
  public boolean createConn():加载数据库驱动程序,创建数据库连接对象
  public boolean update(String sql):执行更新SQL
  public void query(String sql):执行查询SQL
  public void closeRs():关闭结果集对象
  public void closeStm():关闭申明对象
  public void closeConn():关闭数据库连接对象
这样以来我们就可以调用这些方法来完成创建数据库连接,直接输入SQL语句调用update()即可执行数据库更新等等操作,这样就避免了上面所说的两点不足。但是我们这种方式还是有点不是很完美,因为在我们需要写SQL语句时还需要将前面封装好的对象拆开进行操作,在持久成没有实现面向对象操作操作数据库。

3)ORM阶段
我们在编程过程中数据库的编程操作和Java的编程操作是两种开发思路,于是我们就在想能不能把对数据操作改进的就像对Java类操作一样。于是,ORM便诞生了。
ORM是 Object Relational Mapping的简称。即对象关系映射 他是一种为了解决面向对象与关系数据库存在的互不匹配的对象的技术 简单地说 ORM是通过使用描述对象和数据库之间映射的元数据 将Java程序中对象自动持久化到关系数据库中 本质上上就是讲数据从一种形式转换为另一种形式

阅读(1646) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~