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

来源:互联网 发布:淘宝大码孕妇装排行 编辑:程序博客网 时间:2024/05/22 04:32

实现步骤:

  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 0
原创粉丝点击