这个两个系统是同一个人写的,所有都有同样的毛病,因此,解决办法都是一种。如下。
第一:更改数据库。
这两个系统使用的是sqlserver数据库,而我使用的是mysql数据库,因此需要做对应的修改。代码如下:
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost:3306/dertdatabase</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value>1234</value>
</property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"
lazy-init="false">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="mappingResources">
<list>
<value>com/bzu/entity/Course.hbm.xml</value>
<value>com/bzu/entity/Student.hbm.xml</value>
<value>com/bzu/entity/Adminer.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
<prop key="hbm2ddl.auto">update</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>
<prop key="hibernate.cache.use_query_cache">true</prop>
<!-- <prop key="current_session_context_class">Thread</prop> -->
</props>
</property>
</bean>
主要修改数据库的参数为mysql,还有数据库的名称以及密码等参数。
2.修改完数据库之后,需要修改hbm.xml文件。这个文件里,含有一些数据库的名称,catalog等字段,需要去掉。
3.现在我们需要创建数据库表格到mysql中。
我们使用如下代码
package com.bzu.util;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.orm.hibernate3.LocalSessionFactoryBean;
public class CreateDataBase {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
BeanFactory bf = new ClassPathXmlApplicationContext("applicationContext.xml");
LocalSessionFactoryBean lsfb = (LocalSessionFactoryBean) bf.getBean("&sessionFactory");
lsfb.dropDatabaseSchema();
lsfb.createDatabaseSchema();
}
}
使用方法:在修改完上述地方之后,我们接下来就要生成数据库文件了
1.运行createDataBase这个类,如果是正确运行,那就能够在数据库中,看到对应的数据库表了
2.在myeclipse中,运行修改完之后的项目,项目就可以正常访问了。