知识大全 Hibernate初学之优缺点
Posted 数据库
篇首语:世界再冷,你也要成为自己的太阳,无需别人的照亮,你就是自己的太阳。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Hibernate初学之优缺点相关的知识,希望对你有一定的参考价值。
Hibernate初学之优缺点 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
首先比较一下JDBC的优缺点 JDBC的优点 直接底层操作 提供了很简单 便捷的访问数据库的方法 跨平台性比较强 灵活性比较强 可以写很复杂的SQL语句 JDBC的缺点 因为JAVA是面向对象的 JDBC没有做到使数据能够面向对象的编程 使程序员的思考仍停留在SQL语句上 操作比较繁琐 很多代码需要重复写很多次 如果遇到批量操作 频繁与数据库进行交互 容易造成效率的下降 Jdbc是一个比较底层的东西 灵活写SQL语句 注册驱动 获得连接 产生一个Statement 进行操作 返回数据ResultSet new List对象 把ResultSet数据放入List过程中 A a = new A() a setXXX(rs getString( xxx )) 代码比较繁琐 纯的JDBC是没有缓存的 模型不匹配(阻抗不匹配) Java面向对象语言 对象模型 其主要概念有 继承 关联 多态等 数据库是关系模型 其主要概念有 表 主键 外键等 对象模型中对象与对象之间的关联关系与关系模型中数据库表之间的关系无法一一对应 对象模型中对象的继承关系在关系模型中无法直接表示 对象模型中对象的等值性(equals)在关系模型中无法直接实现 对象模型中有关联的对象之间的导航访问在关系模型中无法直接实现 解决办法 使用JDBC手工转换 使用ORM(Object Relation Mapping对象关系映射)框架来解决 Hibernate是一个开源ORM框架 ORM全称Object Relation Mapping 即对象关系映射 它是一种用来完成对象模型到关系模型的映射技术 就是把应用程序中的对象数据持久化到关系数据库的表的一种技术 使用ORM( Object Relation Mapping )框架来解决 主流的ORM框架有JBoss公司的Hibernate Oracle公司的TopLink Apache组织的OJB Sun公司的JDO 简单的说 ORM能利用面向对象的思想开放基于关系型数据库的应用程序 它的主要工作是将对象数据保存到关系数据库的表中 以及将关系数据库表中数据读入到对象中 下载地址 使用 版本 解压获取必需类库文件 将下载目录/hibernate jar和/lib下的hibernate运行时必须的包加入classpath中 安装配置 配置文件hibernate cfg xml和hibernate properties XML和properties两种 这两个文件的作用一样 提供一个即可 推荐XML格式 下载目录/etc下是示例配置文件 可以在配置文件指定 数据库的URL 用户名 密码 JDBC驱动类 方言等 启动时Hibernate会在CLASSPATH里找这个配置文件 映射文件(hbm xml 对象模型和关系模型的映射) 在/eg目录下有完整的hibernate示例 步骤 新建java项目 并加入相应的jar包 及jdbc驱动 创建持久化类 准备数据库表 创建配置文件 hibernate cfg xml 创建映射文件 xxx hbm xml 创建测试文件 nnection url 表示要链接的数据库地址 nnection driver_class 表示要链接的数据库的驱动类 nnection username 要连接的数据库的用户名 nnection password 要连接的数据库的密码 Hibernate dialect 表示要使用的数据库的类型 hibernate dialect MySQL Dialect mysql数据库 hibernate dialect Oracle Dialect oracle数据库 hibernate dialect SQLServerDialect SQLServer数据库 hibernate hbm ddl auto validate:加载hibernate时验证创建表结构 update:加载hibernate时自动更新数据库结构 如果表存在不用创建 如果不存在就创建 create:每一次加载hibernate时都创建表结构 create drop:加载hibernate时创建 退出时删除 <hibernate mapping package= hbsi domain > <class name= User table= user > <id name= id > <generator class = native /> </id> <property name= name /> <property name= birthday type= datetime /> </class> </hibernate mapping> <hibernate configuration> <session factory name= foo > <property name= nnection driver_class > mysql jdbc Driver</property> <property name= connection url >jdbc:mysql:///test</property> <property name= connection username >root</property> <property name= connection password >root</property> <property name= dialect > hibernate dialect MySQLDialect</property> <property name= connection password >root</property> <property name= show_sql >true</property> <property name= hbm ddl auto >update</property> <mapping resource= /hbsi/domain/User hbm xml /> </session factory> </hibernate configuration> 这些都是配置文件 还需要创建一个domain类 cha138/Article/program/Java/ky/201311/28383相关参考
初学者对Hibernate的学习方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Hibern
知识大全 Hibernate与IBatis的优缺点及可行性分析
Hibernate与IBatis的优缺点及可行性分析 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
初学Javascript之cookie篇(译) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! [
Hibernate查询方法之探析 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! :QBE(Que
Hibernate深入研究之Criteria 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 最近
精通Hibernate之映射继承关系(二) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 把每个
精通Hibernate之映射继承关系(一) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在域模
精通Hibernate之映射继承关系八 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 由于关系数
精通Hibernate之映射继承关系三 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! <h
精通Hibernate之映射继承关系二(图) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 把每