整个项目运用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文件名称保持一致且在一个包下。
最后呢我建议文件目录按照以下格式来建立:
contriller中存放控制器相关代码。
dao中存放mapper.java和mapper.xml文件,需要注意文件名称保持一致。
model中存放数据模型
service中存放后台处理相关代码。
至此整合完成!
打赏
微信扫一扫~听说打赏我的人,都进了福布斯排行榜!