1、JDBC 优点:在一定条件下,从理论上效率高,功能完备,是最底层的 API。 缺点:代码量大,比较复杂。3.EJB:封装了 JDBC,但 API 复杂,开发周期长,难于测试。4.ORM:来于民间,来源实践,纯面向对象,封装了 JDBC,适宜的 API 轻量级(可选的服务) 利用数据库做企业级对象持久化,一定用 Hibernate。开发环境1.建立 JAVA 普通项目2.创建 userlibrary 引用 JAR 包1Hibernate_home/lib/*.jar Hibernate_home/hibernate3.jar Mysql 或者 JDBC 驱动3.给项目引用 userlibrary
2、 库,把配置文件 hibernate.cfg.xml 放 src 下 。 定义映射文件 实体类名.hbm.xml 配置映射关系。在 myeclipse 中配置 DTD 对 xml 校验:1,导入 hibernate 库文件(1)在 eclipse 中建立一个 java 工程,如:hbn(2)在工程 hbn 的属性-Build Path 中选择 Add Libraries(3)在 Add Libraries 窗口中选择 User Library 点 next 按钮(4)在 User Library 窗口中点 User Libraries .按钮(5)在 User Libraries 窗口中,点
3、new 按钮(6)在 New user library 窗口中,填写一个 User libary name(如:hbnlib,注意不要选择 Systemlibary 复选框),点 OK 按钮回到 User Liberies 窗口(7)在 User Liberaries 窗口中选择刚刚创建的hbnlib,点 Add jars 按钮(8)在打开的文件选择窗口中找到解压好的 hibernate 的库文件,全部选中,点打开 按钮,返回 User Libraries 窗口(9)在 User Libraries 窗口中点 OK 按钮,返回User Library 窗口;再点 Finish 按钮,结束操作2
4、,导入 2 个 hibernate DTD 文件 hibernate-configuration-3.0.dtd hibernate-mapping-3.0.dtd(1)在 eclipse 中选择 Window 菜单中的 Preferences选项(2)在 Preferences 窗口中,选择 Files and Editors 的 XML 节点 中的 XML Catalog 子节点(3)在 XML catalog 子节点选中状态下,选择右侧 窗口中的 User Specified Entries 选项,然后 点窗口下方的 Add 按钮(4)在 Add XML Catalog Entry 窗口
5、中,填写 URI 文 本框(点文本框右端的按钮,选择 file system, 在弹出的文件选择窗口中选择hibernate-3.2srcorghibernatehibernate-configuration-3.0.dtd(5)用文本编辑器打开该 DTD 文件,选择文件头部,标签中 PUBLIC 后状如:-/Hibernate/Hibernate Configuration DTD 3.0/EN的字符串,然后将该字符串拷贝到Add XML Catalog Entry 窗口中 Key 文本框中(6)对 hibernate-mapping-3.0.dtd 重复 4、5 两步2OR/M 对象关系映
6、射object relation mappingPOJO 类,就是标准的 Java Bean。Hibernate 的工作原理:封装了 JDBC,Java 只能用 JDBC 访问数据库。Hibernate 就是一个可以自动的根据 xml 完成对象关系映射,并持久化到数据库的开源组件。 Hibernate 的底层也是有 JDBC 实现的。接口:session 线程不安全的,轻量级的,一个线程一个 session 。sessionFactory 线程安全的,重量级的比较耗资源。类: configuration 读取配置文件数据库信息,正确连接数据库。 单一实体映射:单个 PO-单个表,类-表 ,对象
7、-记录 ,属性-字段。 用不含业务关系的做主键。Oid(唯一性)hilo 算法,高低位算法。(每个应用程序一个计数器,从数据库里取出的数作为高位,应用 程序的作为低位,可以保证得到的 Oid 不重复,并且不用多次访问数据库。hibernate 是通过 xml 文件的配置,对数据库的底层的方言,以及数据库连接所需的信息, 以及连接数据库的驱动。hibernate 的 系 统 配 置 文 件 的 名 字 一 般 叫 做 hibernate.cfg.xml , 一 般 是 映 射 类 名 加.hbm.xml。一般将映射类的 xml 文件和实体类放在一起。hibernate.cfg.xml 中会设置数
8、据库的连接信息,以及引用的其他文件的文件名,和一些其 他的设置。这个文件一般放在项目的根目录下。映射关系配置在 hibernate 中其他类型可以自动识别只有 Date 类型必须指定。property name=name column=name type=string/brithday column=date在 hibernate.cfg.xml 的写法:?xml version=1.0DOCTYPE hibernate-configuration PUBLIC-/Hibernate/Hibernate Configuration DTD 3.0/EN3hibernate-configurat
9、ionsession-factory-显示 sql 语句-show_sqltrue-使显示的 sql 语句格式化-format_sql-使用的数据库的驱动-connection.driver_classorg.gjt.mm.mysql.Driver-连接数据库使用的 url-connection.urljdbc:mysql:/127.0.0.1:3306/zhaoqp-连接数据库的用户名-connection.usernamerootconnection.passwordzhaoqpconnection.isolation2hbm2ddl.autonone4-org.hibernate.dia
10、lect.MySQLDialect-引入的映射对象的 xml 文件的全路径及文件名-mapping resource=com/zhaoqp/entity/Product.hbm.xml /com/zhaoqp/entity/Item.hbm.xmlcom/zhaoqp/entity/Order.hbm.xmlcom/zhaoqp/entity/User.hbm.xml/session-factory/hibernate-configurationhibernate 的映射类的 XXXX.hbm.xml 的写法:1. Product.hbm.xmlDOCTYPE hibernate-mappin
11、g PUBLIC-/Hibernate/Hibernate Mapping DTD 3.0/EN-映射类所在的包-hibernate-mapping package=com.zhaoqp.entity-将类和数据库的表联系起来-class name=Product table=cart_product5-主键生成策略-id name=idgenerator class=native/generator/id-类中的属性和字段之间建立联系- not-null=true unique=descriptionprice /class/hibernate-mapping2. User.hbm.xmlDOCTYPE hibernate-mappi
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1