【SSH】利用applicationContext.xml文件结合java代码生成项目所需的数据库

实现步骤:

  1. 查看项目的applicationContext.xml配置文件,我的如下:
    <bean id="dataSource"
    		class="org.apache.commons.dbcp.BasicDataSource">
    		<property name="driverClassName"
    			value="com.mysql.jdbc.Driver">
    		</property>
    		<span style="color: rgb(255, 0, 0);"><property name="url"
    			value="jdbc:mysql://localhost:3306/db_dianbo?useUnicode=true&amp;amp;amp;amp;amp;characterEncoding=utf-8">
    		</property></span>
    		<property name="username" value="root"></property>
    		<property name="password" value="123456"></property>
    	</bean>	
    	
    	<bean id="sessionFactory"
    		class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    		<property name="dataSource">
    			<ref bean="dataSource" />
    		</property>
    		<property name="hibernateProperties">
    			<props>
    				<span style="color:#ff0000;"><prop key="hibernate.dialect">
    					org.hibernate.dialect.MySQLDialect
    				</prop</span>>
    				<span style="color:#ff0000;"><prop key="hibernate.show_sql">true</prop>
    				<prop key="hibernate.hbm2ddl.auto">update</prop></span>
    			</props>
    		</property>
    从上面的代码可以看出数据库使用的是MySQL,<prop key="hibernate.show_sql">true</prop>表示在执行数据库操作的时候,会在控制台打印出执行的sql语句。<prop key="hibernate.hbm2ddl.auto">update</prop>表示在加载配置文件的时候自动更新数据库中的表,如果没有就会创建数据库中的表(前提是你的数据库已经建立,没建立的可以根据你项目使用的数据库系统自己建立一个。例如我使用的是MySQL数据库,则只需要在navicat中新建一个与我项目使用的数据库db_dianbo同名的就可以了)
  2. 新建一个java类CreateDBTable.java,来生成数据库中的表,如下(此代码参照于互联网):
    import org.hibernate.cfg.Configuration;
    import org.hibernate.tool.hbm2ddl.SchemaExport;
    import org.springframework.beans.factory.xml.XmlBeanFactory;
    import org.springframework.core.io.ClassPathResource;
    import org.springframework.orm.hibernate3.LocalSessionFactoryBean;
    
    public class CreateDBTable {
    
    	/**
    	 * @param args
    	 */
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		<span style="color:#ff0000;">ClassPathResource ac = new ClassPathResource("applicationContext.xml");</span>
    
    	      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);
    	}
    
    }
    注意:applicationContext.xml需要在src目录下,上述代码红色部分才能直接写这样的相对路径。如果在WEB-INF下可以先复制一份在src待生成数据库后再删除它,这样比较方便。
  3. 只需要执行一下步骤2中的代码就能生成数据库中的表了。
  4. 注意事项:如果你的项目是别人给你或在网上下的,只有项目没有数据库,然后项目使用的数据库你的电脑上又没有,或你的版本不支持项目使用的数据库(例如:项目给了你数据库文件但是是SqlServer2000生成的,而你的电脑使用的是SqlServer2012这些比较新的数据库。2000生成的数据库文件时不能附加在2012上的。这时,也可以参照后面提到的例子中的方法把数据库换成MySQL的)。比如:你的电脑只有MySQL,而项目上使用的是SqlServer,这种情况你只需要更改applicationContext.xml文件中配置数据库的那部分代码,把它换成MySQL的配置就可以了。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值