2.5 开发前的准备工作
由于该系统采用Spring做业务层,Hibernate作为持久层,MySQL作为数据库,因此在开发前,要对其进行配置,并在数据库中插入一些记录,供开发中测试使用。
2.5.1 表的创建与记录插入
上一节中介绍了数据库中表的设计,下面将介绍如何在MySQL数据库中创建这些表,并插入一些数据,具体步骤如下。
① 启动MySQL,打开MySQL命令行客户端MySQL Command Line Client。
② 执行语句“use test;”,然后执行上一节中创建表的SQL语句。
表创建完成后,需要插入一些测试数据,具体插入的SQL如下:
insert into consumerinfo values('10001','奇川贸易','张先生','唐山','1234567', 'ligong@sina.com','暂无'); insert into ProviderInfo values('10001','河北数码','张先生','唐山','1234567', 'ligong@sina.com','暂无'); insert into GoodsClassInfo values('10001','水果'); insert into GoodsInfo values('10001','苹果','10001',20,'斤',10,20); insert into AdminInfo values('10001','zrk','12345','超级'); ……/* 此处省略了一些SQL语句,请读者参照光盘中本章的SQL脚本 */
2.5.2 数据源的配置
本系统连接数据库采用数据源连接池,因此需要对其进行配置,具体步骤如下所示:
① 在Tomcat安装目录下的lib目录下添加MySQL数据库驱动JAR包,见光盘中应用软件目录下的“mysql-connector-java-5.1.6-bin.jar”文件。
② 在Tomcat安装目录下的conf子目录中的server.xml中最后的“</Host>”标记之前添加如下配置:
<Context path="/POS" docBase="POS" debug="5" reloadable="true" crossContext="true" workDir=""> <Resource name="jdbc/pos" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="root" password="" driverClassName="org.gjt.mm.mysql.Driver" url="jdbc:mysql://localhost/test"/> </Context>
③ 在Tomcat安装目录下的webapps文件夹中新建一个名称为POS的文件夹,并将光盘中本章的css、img及script文件夹复制到该目录下,在后续开发中,将写好的JSP文件均放在该文件夹下。
④ 在上述新建的POS目录下新建目录WEB-INF,并在WEB-INF下新建文件夹classes,该文件夹用来存放已经编译好的JavaBean、Servlet及辅助类的class文件。
⑤ 在WEB-INF文件夹下新建文件web.xml,并在web.xml中添加如下配置。
<?xml version="1.0" encoding="ISO-8859-1"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ ns/j2ee/web-app_2_4.xsd" version="2.4"> <resource-ref> <description>DB Connection</description> <res-ref-name>jdbc/pos</res-ref-name> <!-- 此处指数据源的名称--> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> <welcome-file-list> <welcome-file>login.jsp</welcome-file> <!--设置欢迎页面--> </welcome-file-list> </web-app>
2.5.3 Spring的配置
(1)在本应用的WEB-INF目录下新建lib文件夹,并将光盘中lib目录下的spring-mock.jar、spring.jar复制到该文件夹下。
(2)在本应用的WEB-INF目录下的web.xml中的“</web-app>”之前添加如下配置:
<context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/appcontext.xml</param-value> <!-- spring配置文件的路径 --> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener </listener-class> </listener>
(3)在本应用的WEB-INF目录下新建appcontext.xml文件,用来对Spring进行配置,具体内容如下所示:
<?xml version="1.0" encoding="GBK"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <!--通过JNDI获得数据源的引用--> <bean id="MyDataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName"> <value>java:comp/env/jdbc/pos</value></property> </bean> </beans>
2.5.4 Hibernate的配置
(1)将光盘中lib目录下Hibernate所需要的一些JAR包复制到本应用的WEB-INF目录下的lib文件夹内。
(2)在Spring配置文件中,添加对Hibernate的配置,使Hibernate的LocalSessionFactoryBean作为Spring的一个受管Bean,在appcontext.xml文件中的“</beans>”前添加如下配置:
<bean id="sessionFactory" <!--配置Hibernate--> class="org.springframework.orm.hibernate3.LocalSessionFactoryBean" > <property name="dataSource"><ref local="MyDataSource" /></property><!--指定 数据源--> <property name="mappingResources"> <!--给出映射文件资源--> <list> <!-- 此处是本应用中的一些映射文件,在后面的开发中会把注释去掉 <value>AdminInfo.hbm.xml</value> <value>GoodsInfo.hbm.xml</value> <value>GoodsClassInfo.hbm.xml</value> <value>ConsumerInfo.hbm.xml</value> <value>ProviderInfo.hbm.xml</value> <value>StockInfo.hbm.xml</value> <value>StockDetail.hbm.xml</value> <value>SellInfo.hbm.xml</value> <value>SellDetail.hbm.xml</value> <value>ConsumerBack.hbm.xml</value> <value>ConsumerBackDetail.hbm.xml</value> <value>ProviderBack.hbm.xml</value> <value>ProviderBackDetail.hbm.xml</value> --> </list> </property> <property name="hibernateProperties"> <!--定义Hibernate配置属性--> <props> <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect </prop> <prop key="hibernate.show_sql"> true</prop> </props> </property> </bean>
说明:在数据库中建表时,请读者按照笔者所给出的顺序依次创建,否则可能会由于外键原因导致表创建不成功。用于开发的Java类在修改后一定要进行编译,并将编译好的文件复制到classes目录下,当开发完一个JSP页面后,启动Tomcat,并在地址栏中输入http://localhost:8080/POS即可进行测试。