好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

hibernate自学笔记手册.pdf

11页
  • 卖家[上传人]:飞***
  • 文档编号:53960224
  • 上传时间:2018-09-06
  • 文档格式:PDF
  • 文档大小:162.67KB
  • / 11 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • Hibernate 自学笔记软件 083J 石孟华Hibernate 自学手册编写者:石孟华Hibernate 3.1 目录1、第一个 hibernate程序. 2、Hibernate配置文件详解 . 3、Hibernate映射文件详解 . 4、Hibernate Configuration 类 第一个 hibernate 程序开发步骤:A、新建 JAVA 项目,往项目里添加hibernate 框架支持导入相应的jar 包)Hibernate3jar; Cglib -2-1-2.jar; Dom4j-1.6.1.jar; Commons-collections.jar; Commmins-logging.jar; (以上 5 个 jar 包是开发必须导入的) Ant-1.6.5.jar ant 编辑工具的jar 包可选C3p0-0.9.0.jar; 需要用连接池的jar 包可选Connector.jar; JCA 规范 jar 包一般不用Jass.jar 进行权限验证的JDK 中一般已经包含一般不用Jdbc2_0-stdext.jar JDBC 的扩展包连接池的时候需要用到Jta.jar 使用 JTA 时需要用到。

      Juint-3.8.1.jar 运行 hibernate 自带的测试代码时需要用到Xerces-2.6.2.jar xml-apis.jar XML的解析器 JDK 已经包含导入数据库相应的jar 包(不要遗漏)B、设置 hibernate 的设置配置文件hibernate.cfg.xml(从 hibernate 的例子项目复制修改) 将 hibernate.cfg.xml 配置文件放到src 默认包下Hibernate.cfg.xml 例子 : true是否显示 hibernate运行执行的 SQL 语句Mysql 连接数据库的 URLjdbc:mysql://localhost:3306/hibernate root连接数据库的用户名连接数据库的密码连接数据库的驱动名称com.mysql.jdbc.Driver 连接数据库的方言由API可查org.hibernate.dialect.MySQLDialect 映射文件C、编写 User.Java类就是一个 JavaBean里面的属性和数据库表中的字段一一对应package com.shiemnghua.student; public class Student { private int id; private String name; private int age; public int getAge() { return age; } public void setAge(int age) { this.age = age; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; Hibernate 自学笔记软件 083J 石孟华Hibernate 自学手册编写者:石孟华} public void setName(String name) { this.name = name; } }D、编写 TestUser.Java类package com.shiemnghua.student; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; public class TestStudents { public static void main(String[] args) { // TODO 自动生成方法存根Student s=new Student(); s.setId(12); s.setName(“shiemnghua1211“); s.setAge(12022); Configuration cfg=new Configuration(); SessionFactory sf=cfg.configure().buildSessionFactory(); Session session=sf.openSession(); session.beginTransaction(); session.save(s); session.getTransaction().commit(); session.close(); sf.close(); } } E 编写 Student.hbm.Xml 映射文件(放在对应类User 的包下)。

      Student 为类名, student 为数据库中的表名Hibernate 自学笔记软件 083J 石孟华Hibernate 自学手册编写者:石孟华column属性缺省时表示数据库中的字段和类的属性相同F、发布运行项目经此Student类的对象 s 就保存到了数据中总结: hibernate.cfg.Xml文件配置时尽量只配置需要的,尽量做到简洁干净映射文件路径是点“ / ”, 而不是“ . ” Hibernate 配置文件详解配置文件的属性分为:hibernate 直接配置属性;Hibernate(connection)JDBC 连接属性;Hibernate (cache)缓存属性;Hibernate(transaction)事务属性;Hibernate 其他属性 hibernate直接配置属性 :属性名用途hibernate.dialect 一个 Hibernate Dialect 类名允许Hibernate针对特定的关系数据库生成优化的SQL. 取值full.classname.of.Dialect hibernate.show_sql 输 出 所 有SQL语 句 到 控 制 台 . 有 一 个 另 外 的 选 择 是 把org.hibernate.SQL 这个 log category 设为 debug。

      eg. true | false hibernate.format_sql 在 log 和 console 中打印出更漂亮的SQL取值true | false hibernate.default_schema 在生成的 SQL中, 将给定的 schema/tablespace附加于非全限定名的表名上 . 取值SCHEMA_NAME hibernate.default_catalog 在生成的SQL 中, 将给定的 catalog 附加于非全限定名的表名上. 取值CATALOG_NAME hibernate.session_factory_name SessionFactory 创建后,将自动使用这个名字绑定到JNDI 中. 取值jndi/composite/name Hibernate 自学笔记软件 083J 石孟华Hibernate 自学手册编写者:石孟华hibernate.max_fetch_depth 为单向关联 (一对一 , 多对一 )的外连接抓取(outer join fetch )树设置最大深度 . 值为 0意味着将关闭默认的外连接抓取. 取值建议在 0到3之间取值hibernate.default_batch_fetch_size 为 Hibernate 关联的批量抓取设置默认数量. 取值建议的取值为4, 8, 和16 hibernate.default_entity_mode 为由这个 SessionFactory打开的所有Session指定默认的实体表现模式. 取值dynamic-map, dom4j, pojo hibernate.order_updates 强制 Hibernate 按照被更新数据的主键,为SQL 更新排序。

      这么做将减少在高并发系统中事务的死锁取值true | false hibernate.generate_statistics 如果开启 , Hibernate 将收集有助于性能调节的统计数据. 取值true | false hibernate.use_identifer_rollback 如果开启 , 在对象被删除时生成的标识属性将被重设为默认值. 取值true | false hibernate.use_sql_comments 如果开启 , Hibernate 将在 SQL 中生成有助于调试的注释信息, 默认值为 false. 取值true | false Hibernate(connection)JDBC连接属性 :属性名用途hibernate.jdbc.fetch_size 非 零 值 , 指 定JDBC抓 取 数 量 的 大 小( 调 用Statement.setFetchSize()). hibernate.jdbc.batch_size 非零值,允许Hibernate 使用 JDBC2的批量更新 . 取值建议取 5到30之间的值hibernate.jdbc.batch_versioned_data 如果你想让你的JDBC 驱动从 executeBatch() 返回正确的行计数, 那么将此属性设为true(开启这个选项通常是安全的). 同时,Hibernate 将为自动版本化的数据使用批量DML. 默认值为 false. eg. true | false hibernate.jdbc.factory_class 选择一个自定义的Batcher. 多数应用程序不需要这个配置属性. eg. classname.of.Batcher hibernate.jdbc.use_scrollable_resultset 允许 Hibernate 使用 JDBC2 的可滚动结果集. 只有在使用用户提供的 JDBC 连接时,这个选项才是必要的, 否则 Hibernate 会使用连接的元数据. 取值true | false Hibernate 自学笔记软件 083J 石孟华Hibernate 自学手册编写者:石孟华hibernate.jdbc.use_streams_for_binary 在 JDBC 读写 binary ( 二进制 )或 serializable (可序列化 ) 的类型时使用流 (stream)(系统级属性 ). 取值true | false hibernate.jdbc.use_get_generated_keys 在数据插入 数据库之后,允 许使用JDBC3 PreparedStatement.getGeneratedKeys() 来 获 取 数 据 库 生 成 的key(键)。

      需要JDBC3+驱动和JRE1.4+, 如果你的数据库驱动在使用 Hibernate 的标识生成器时遇到问题,请将此值设为false. 默认情况下将使用连接的元数据来判定驱动的能力. 取值true|false hibernate.connection.provider_class 自定义ConnectionProvider的类名 , 此类用来向Hibernate 提供JDBC 连接 . 取值classname.of.ConnectionProvider hibernate.connection.isolation 设置 JDBC 事务隔离级别 . 查看 java.sql.Connection 来了解各个值的具体意义 , 但请注意多数数据库都不支持所有的隔离级别. 取值1, 2, 4, 8 hibernate.connection.autocommit 允许被缓存的JDBC 连接开启自动提交(autocommit) ( 不建议 ). 取值true | false hibernate.connection.release_mode 指定 Hibernate 在何时。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.