使用schemaExport自动生成表结构

    xiaoxiao2026-06-13  16

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