使用schemaExport自动生成表结构

  1. 云栖社区>
  2. 博客>
  3. 正文

使用schemaExport自动生成表结构

code_xzh 2015-12-29 09:27:00 浏览752
展开阅读全文

一.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>

网友评论

登录后评论
0/500
评论