使用schemaExport自动生成表结构详解编程语言

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

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/13101.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论