[原]java专业程序代写(qq:928900200),学习笔记之基础入门<Hibernate_配置详解>(三十六)
2013-12-19 09:35
1146 查看
[b]Hibernate
[/b]
使用Hibernate的三个准备:
1. 导入Hibernate库(jar包)
2. 添加核心配置文件hibernate.cfg.xml
3. 添加对应表的实体类和映射文件
配置详解
核心配置文件
hibernate.cfg.xml
添加对应表的实体类和映射文件
使用Hibernate的七个步骤:
1. Configuration(配置方式见三个准备)
2. 创建SessionFactory
3. 打开Session
4. 开始一个事务
5. 持久化操作save/update/delete/get
6. 提交事务
7. 关闭session
创建对象dto.user
自动创建数据库表
测试七个步骤
作者:lulu147 发表于2013-12-19 9:35:03 原文链接
阅读:415 评论:0 查看评论
[/b]
使用Hibernate的三个准备:
1. 导入Hibernate库(jar包)
2. 添加核心配置文件hibernate.cfg.xml
3. 添加对应表的实体类和映射文件
配置详解
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.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.cfg.xml
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <!-- Generated by MyEclipse Hibernate Tools. --> <hibernate-configuration> <session-factory> <!-- 配置数据源 --> <property name="dialect"> org.hibernate.dialect.SQLServerDialect </property> <property name="connection.url"> jdbc:sqlserver://localhost:1433;databaseName=java001 </property> <property name="connection.username"> sa </property> <property name="connection.password"> 123 </property> <property name="connection.driver_class"> com.microsoft.sqlserver.jdbc.SQLServerDriver </property> <property name="myeclipse.connection.profile">sqlconn</property> <!-- 运行时在控制台显示SQL语句 --> <property name="show_sql">true</property> <mapping resource="com/ibm/pojo/user.hbm.xml" /> </session-factory> </hibernate-configuration> |
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <!-- 实现JAVA类到数据库表的映射 --> <class name="com.ibm.pojo.User" table="tbl_user" schema="dbo" catalog="java001" lazy="true"> <!-- 主键生成器 native由数据库生成 --> <id name="userId" type="java.lang.Integer"> <column name="uid"/> <generator class="native"/> </id> <property name="userName" type="java.lang.String" lazy="true"> <column name="uname" length="30"/> </property> </class> </hibernate-mapping> |
1. Configuration(配置方式见三个准备)
2. 创建SessionFactory
3. 打开Session
4. 开始一个事务
5. 持久化操作save/update/delete/get
6. 提交事务
7. 关闭session
创建对象dto.user
User.java |
package com.ibm.pojo; import java.io.Serializable; public class User implements Serializable{ public User(){ } private Integer userId; private String userName; public Integer getUserId() { return userId; } public void setUserId(Integer userId) { this.userId = userId; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } } |
ExportUtil.java |
package com.ibm.util; import org.hibernate.cfg.Configuration; import org.hibernate.tool.hbm2ddl.SchemaExport; public class ExportUtil { public static void main(String[] args) { //读取配置文件 Configuration config = new Configuration().configure(); //针对配置文件中的信息进行导出操作 SchemaExport se = new SchemaExport(config); //创建脚本 并执行脚本 //脚本创建完毕后和数据库关联上,并执行 se.create(true, true); } } |
Test.java |
package com.ibm.test; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import org.hibernate.classic.Session; import com.ibm.pojo.User; public class Test { public static void main(String[] args) { try{ //读取配置信息 Configuration config = new Configuration().configure(); //获得session工程(链接工厂) SessionFactory sessionFactory =config.buildSessionFactory(); //获得session(获得连接) Session session = sessionFactory.openSession(); //开启事务 Transaction tran = session.beginTransaction(); User user = new User(); user.setUserName("javayang"); //保存数据 session.save(user); //提交事务 tran.commit(); //关闭session session.close(); }catch(Exception e){ e.printStackTrace(); } } } |
阅读:415 评论:0 查看评论
相关文章推荐
- [原]java专业程序代写(qq:928900200),学习笔记之基础入门<Hibernate_实战演练>(三十七)
- [原]java专业程序代写(qq:928900200),学习笔记之基础入门<数据库连接配置>(二十八)
- [原]java专业程序代写(qq:928900200),学习笔记之基础入门<SQL_Server_常用查询>(二十二)
- [原]java专业程序代写(qq:928900200),学习笔记之基础入门<Struts2_实战演练(上)>(三十八)
- [原]java专业程序代写(qq:928900200),学习笔记之基础入门<Struts2_实战演练(中)>(三十九)
- [原]java专业程序代写(qq:928900200),学习笔记之基础入门<javascript>(三十)
- [原]java专业程序代写(qq:928900200),学习笔记之基础入门<JDBC>(二十四)
- [原]java专业程序代写(qq:928900200),学习笔记之基础入门<DOM解析>(三十二)
- [原]java专业程序代写(qq:928900200),学习笔记之基础入门<Oracle_查询>(三十四)
- [原]java专业程序代写(qq:928900200),学习笔记之基础入门<Oracle_函数_触发器_游标_存储过程_视图>(三十五)
- [原]java专业程序代写(qq:928900200),学习笔记之基础入门<SQL_Server_视图_函数_存储过程_触发器等>(二十三)
- [原]java专业程序代写(qq:928900200),学习笔记之基础入门<servlet_文件下载>(二十七)
- [原]java专业程序代写(qq:928900200),学习笔记之基础入门<tomcat>(二十五)
- [原]java专业程序代写(qq:928900200),学习笔记之基础入门<jsp>(二十六)
- [原]java专业程序代写(qq:928900200),学习笔记之基础入门<SQL_Server>(二十一)
- [原]java专业程序代写(qq:928900200),学习笔记之基础入门<正则表达式>(三十一)
- [原]java专业程序代写(qq:928900200),学习笔记之基础入门<反射>(二十九)
- [原]java专业程序代写(qq:928900200),学习笔记之基础入门<Oracle_基础>(三十三)
- java 从零开始,学习笔记之基础入门<Hibernate_配置详解>(三十六)
- java 从零开始,学习笔记之基础入门<数据库连接配置>(二十八)