整个项目运用maven进行管理如果你还不会使用maven请看我的另一篇文章:

SpringMVC创建web项目基础之(一)——项目管理利器Maven的使用

先来看看整合所需要的jar包,这里用maven的pom.xml文件来显示


<!-- 依赖的Jar包 -->
    <dependencies>
		<!-- spring -->
	  	<dependency>
		    <groupId>org.springframework</groupId>
		    <artifactId>spring-core</artifactId>
		    <version>4.3.0.RELEASE</version>
		</dependency>
		<!-- springMVC -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>4.3.0.RELEASE</version>
		</dependency>
		<!-- mybitis-->
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis</artifactId>
			<version>3.2.5</version>
		</dependency>
		<!-- mybitis与spring整合包 -->
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis-spring</artifactId>
			<version>1.3.0</version>
		</dependency>
		<!-- mysql数据库驱动 -->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.21</version>
		</dependency>
		<!-- 数据库连接池c3p0 -->	
		<dependency>  
	        <groupId>c3p0</groupId>  
	        <artifactId>c3p0</artifactId>  
	        <version>0.9.1.2</version>  
        </dependency> 
        <!-- jsp-api -->
       <dependency>
			<groupId>javax.servlet.jsp</groupId>
			<artifactId>jsp-api</artifactId>
			<version>2.2.1-b03</version>
		</dependency>
		<!-- servlet-api -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>servlet-api</artifactId>
			<version>3.0-alpha-1</version>
		</dependency>
		
    </dependencies>

下面我们先来配置数据库配置文件:db.properties

jdbc.driverLocation=你的数据库连接驱动所在的本地绝对路径
jdbc.driver=你的数据库连接驱动所在包完整路径
jdbc.url=数据库请求路径
jdbc.username=用户名
jdbc.password=密码

Mybatis还需要sqlMapConfig.xml配置文件,但因为初步整合还没有什么需要配置的因此里面内容是空的,仅有一些约束文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration></configuration>

通常我们会在这个文件里会设置typeAliases属性但是与SpringMVC整合后会被Spring的mapper扫描器所取代因此也不用配置。

接下来就需要配置最重要的Spring中applicationContext.xml:

<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:p="http://www.springframework.org/schema/p"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
		http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
		http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">

	<!-- 加载db.properties文件中的内容,db.properties文件中key命名要有一定的特殊规则 -->
	<context:property-placeholder location="classpath:db.properties" />
	
     <!-- 配置数据源 ,c3p0 -->
	 <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"  
        destroy-method="close">  
        <property name="driverClass" value="${jdbc.driver}" />  
        <property name="jdbcUrl" value="${jdbc.url}" />  
        <property name="user" value="${jdbc.username}" />  
        <property name="password" value="${jdbc.password}" />  
        <property name="minPoolSize" value="10" />  
        <property name="maxPoolSize" value="100" /> 
        <property name="initialPoolSize" value="10" />  
        <property name="maxIdleTime" value="60" />  
        <property name="acquireRetryDelay" value="1000" />
        <property name="acquireIncrement" value="2" />  
        <property name="maxStatements" value="100" />  
        <property name="idleConnectionTestPeriod" value="60" />  
        <property name="acquireRetryAttempts" value="0" />  
        <property name="breakAfterAcquireFailure" value="false" />  
    </bean>
   
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"
	  	p:dataSource-ref="dataSource" 
	  	p:configLocation="classpath:mybatis/sqlMapConfig.xml" 
	  	p:mapperLocations="classpath:com/bubblyyi/app/*/dao/*.xml"
	  	p:typeAliasesPackage="com.bubblyyi.app.*.model"/>
	
	<!-- mapper批量扫描器 -->
	<!-- 使用前提是mapper.java和mapper.xml文件名称保持一致且在一个包下 -->
	<!-- 
		注意这里需要配置sqlSessionFactoryBeanName而不是sqlSessionFactoryBean
		因为如果配错则上面context:property-placeholder配置加载扫描db.properties文件就不起作用了
	 -->
	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer" 
		p:basePackage="com.bubblyyi.app.**.dao" 
		p:sqlSessionFactoryBeanName="sqlSessionFactory"/>
</beans>

需要注意的是:

在配置mapper批量扫描器的时候需要配置sqlSessionFactoryBeanName而不是sqlSessionFactoryBean,因为如果配错则上面context:property-placeholder配置加载扫描db.properties文件就不起作用了,还有就是该扫描器使用前提是mapper.java和mapper.xml文件名称保持一致且在一个包下。

最后呢我建议文件目录按照以下格式来建立:

spring_mvc_1

 

contriller中存放控制器相关代码。

dao中存放mapper.java和mapper.xml文件,需要注意文件名称保持一致。

model中存放数据模型

service中存放后台处理相关代码。

至此整合完成!

 

打赏

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注