一.Hibernate原生状态

?
1
2
3
4
5
Configuration
cfg =
new

Configuration().configure();
 
SchemaExport
export =
new

SchemaExport(cfg);
 
export.create(true,
true);

二.Hibernate整合Spring

1.使用hibernate.cfg.xml原生配置

hibernate.cfg.xml同原生一样编写

在Spring主配置文件applicationContext中,引入hibernate.cfg.xml

使用SchemaExport生成数据库表的代码同上一致。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
Spring
applicationContext.xml
 
<bean

id
="sessionFactory"
 
   class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
 
      <property

name
="configLocation"
 
        value="file:src/hibernate.cfg.xml">
 
      </property>
 
</bean>

2.不使用hibernate.cfg.xml,在Spring的主配置文件applicationContext.xml中配置

完全不编写hibernate.cfg.xml,全部都在applicationContext.xml中配置

?
1
2
3
4
5
6
7
8
9
10
11
12
13
ClassPathResource
ac =
new

ClassPathResource(
"applicationContext.xml");
 
     XmlBeanFactory
xbf =
new

XmlBeanFactory(ac);
 
     //注意:
&sessionFactory ,一定要包含 & ,不加Spring返回的是Hibernate下的SessionFactoryImpl类
 
     LocalSessionFactoryBean
lsfb=(LocalSessionFactoryBean) xbf.getBean(
"&sessionFactory");
 
     Configuration
cfg=lsfb.getConfiguration();
 
     SchemaExport
export=
new

SchemaExport(cfg);
 
     export.create(true,
false);
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<!--
配置数据源-->
 
 <bean

id
="dataSource"

class
="org.springframework.jdbc.datasource.DriverManagerDataSource">
 
    <property

name
="driverClassName"

value
="${jdbc.driverClassName}"/>
 
      <property

name
="url"

value
="${jdbc.url}"/>
 
      <property

name
="username"

value
="${jdbc.username}"/>
 
      <property

name
="password"

value
="${jdbc.password}"/>
 
 </bean>
 
 
 
 <!--
配置sessionfactory,该配置替代了hibernate.cfg.xml的配置 -->
 
 <bean

id
="sessionFactory"

class
="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
 
    <property

name
="dataSource"

ref
="dataSource"></property>
 
    <property

name
="mappingResources">
 
      <list>
 
         <value>xxx/xxx/model/User.hbm.xml</value>
 
      </list>
 
    </property>
 
    <property

name
="hibernateProperties">
 
      <props>
 
         <prop

key
="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
 
         <prop

key
="hibernate.show_sql">true</prop>
 
         <prop

key
="hibernate.format_sql">true</prop>
 
      </props>
 
    </property>
 
 </bean>

使用schemaExport自动生成表结构的更多相关文章

  1. hibernate.hbm2ddl.auto=update不能自动生成表结构

    在写上篇文章<spring整合springmvc和hibernate>的时候,曾遇到一个问题 INFO: Server startup in 8102 ms Hibernate: inse ...

  2. 利用powerDesigner15.1连接oracle数据库并自动生成表结构

    利用powerDesigner15.1连接oracle数据库并自动生成表结构 参考:http://blog.csdn.net/qq_24531461/article/details/76713802 ...

  3. Hibernate之SchemaExport+配置文件生成表结构

    首先要生成表,得先有实体类,以Person.java为例: /** * * @author Administrator * @hibernate.class table="T_Person& ...

  4. 菜鸟学SSH(十一)——Hibernate之SchemaExport+配置文件生成表结构

    今天说点基础的东西,说说怎样通过SchemaExport跟Hibernate的配置文件生成表结构.事实上方法很easy,仅仅须要两个配置文件,两个Java类就能够完毕. 首先要生成表,得先有实体类,以 ...

  5. Hibernate使用自定义脚本替换注解或者xml文件中的自动生成表结构

    本文作者:苏生米沿 本文地址:http://blog.csdn.net/sushengmiyan/article/details/50534361 我们都清楚,可以使用hibernate的metada ...

  6. Spring4整合Hibernate5时不能自动生成表结构

    © 版权声明:本文为博主原创文章,转载请注明出处 1.问题描述: Spring4整合Hibernate5时,不再使用hibernate.cfg.xml,将其内容整合到Spring配置文件中,启动后不能 ...

  7. hibernate如何配置自动生成表

    hibernate自动生成表有两种方法: 1.直接写代码,通过方法来创建数据库表. 2.通过 hibernate.cfg.xml配置标签来创建数据表. 下面依次实现: 1.直接写代码,通过方法来创建数 ...

  8. 基于PHP和mysql的自动生成表单

    开发背景:公司要求管理系统能够由管理员在前台页面管理系统表单,能够对表单进行增删改查基本操作,表单的各个字段都可以被修改.删除,可以添加新的字段,并且不影响系统正常运行,前台表单展示要由系统自动处理, ...

  9. EF:根据实体类生成表结构SQL

    根据实体类生成表结构SQL: PM> Enable-Migrations -ProjectName Domain -StartUpProjectName Handler -Force PM> ...

随机推荐

  1. qsort函数应用大全

    七种qsort排序方法 <本文中排序都是采用的从小到大排序> 一.对int类型数组排序  int num[100]; Sample: int cmp ( const void *a , c ...

  2. K均值聚类的失效性分析

    K均值聚类是一种应用广泛的聚类技术,特别是它不依赖于任何对数据所做的假设,比如说,给定一个数据集合及对应的类数目,就可以运用K均值方法,通过最小化均方误差,来进行聚类分析. 因此,K均值实际上是一个最 ...

  3. (一〇六)iPad开发之UIPopoverController的使用

    很多App里都有一种点击显示的悬浮气泡菜单,例如下图: 在iPad上可以使用UIPopoverController实现这个功能,popoverController继承自NSObject而不是UIVie ...

  4. 关于新版本,iOS10的相关内容,兼容iOS 10 资料整理笔记

    1.Notification(通知) 自从Notification被引入之后,苹果就不断的更新优化,但这些更新优化只是小打小闹,直至现在iOS 10开始真正的进行大改重构,这让开发者也体会到UserN ...

  5. Swing中经常会遇到的若干问题——JTable(持续更新)

    本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/40955213 (1)让组件在屏幕中央显示 public s ...

  6. cocos2d-x初探

    今天把cocos2d-x下载下来装了准备试试. 就不用windows本了,主要想做iOS游戏,所以这里用mac. 先在http://cocos2d-x.org/download下载右边的cocos,然 ...

  7. Java中回调函数编写

    package XXX.utils; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStr ...

  8. ZooKeeper 实现分布式队列

    使用场景  在传统的单进程编程中,我们使用队列来存储数据结构,用来在多线程之间共享或者传递数据.在分布式环境下,同样需要一个类似单进程的组件, 用来实现跨进程.跨主机.跨网络的数据共享和数据传递.这就 ...

  9. github管理的建立(SSH Key生成步骤)

    Git是分布式的代码管理工具,远程的代码管理是基于SSH的,所以要使用远程的Git则需要SSH的配置. github的SSH配置如下: 一 . 设置Git的user name和email: $ git ...

  10. Android官方技术文档翻译——Gradle 插件用户指南(4)

    最近赶项目,白天基本没时间,只有晚上在家的时候才能看一看.昨天晚上只翻译完了第四章,今天就只发第四章吧. 本文译自Android官方技术文档<Gradle Plugin User Guide&g ...