首先说明Spring和Mybatis的版本:
Spring:3.2.4
Mybatis:3.3.0
使用了C3P0连接池和Log4J日志,下面是jar包总览:
然后是项目目录总览:
为了能够让项目跑一个HelloWorld,添加了简单User业务,接下来就看一下配置文件的内容:
application.xml
<context:property-placeholder location="classpath:c3p0-config.properties" />
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="driverClass" value="${jdbc.driverClass}" />
<property name="jdbcUrl" value="${jdbc.jdbcUrl}" />
<property name="user" value="${jdbc.user}" />
<property name="password" value="${jdbc.password}" />
<property name="minPoolSize" value="${jdbc.miniPoolSize}" />
<property name="maxPoolSize" value="${jdbc.maxPoolSize}" />
<property name="initialPoolSize" value="${jdbc.initialPoolSize}" />
<property name="maxIdleTime" value="${jdbc.maxIdleTime}" />
<property name="acquireIncrement" value="${jdbc.acquireIncrement}" />
<property name="acquireRetryAttempts" value="${jdbc.acquireRetryAttempts}" />
<property name="acquireRetryDelay" value="${jdbc.acquireRetryDelay}" />
<property name="testConnectionOnCheckin" value="${jdbc.testConnectionOnCheckin}" />
<property name="automaticTestTable" value="${jdbc.automaticTestTable}" />
<property name="idleConnectionTestPeriod" value="${jdbc.idleConnectionTestPeriod}" />
</bean>
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:mybatis/mybatis.xml" />
</bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.smy.mapper" />
</bean>
因为Spring整合Mybatis,所以数据源和SqlSessionFactory以及事务都由Spring的Bean容器来统一管理。
首先我们要配置我们的数据源DataSource,这里因为我使用了C3P0连接池,所以就使用了
配置SqlSessionFactoryBean,为什么要配置SqlSessionFactory呢? 我们要不要使用Mybatis框架来操作数据库?答案肯定是要,那就要配置,配置之后我们才能够得到Mapper映射,生成代理对象来操作数据库,除了注入DataSource之外,还要注入Mybatis配置文件的路径。
接下来还要配置Mapper映射文件Bean,这个有多种配置方法,除了上面一种,还可以直接在SqlSessionFactoryBean中直接注入,也可以直接在Mybatis配置文件中配置,但是不管在哪配置,只配置一遍就行,多处配置会出现问题,之前有亲身测试过。
springmvc.xml
viewResolver:视图解析器,prifix 和 suffix 是在Controller 处理请求之后返回 ModelAndView ,然后由视图解析器来自动添加前缀和后缀。
import:引入 Spring 其它配置文件,在配置文件分的比较多的时候,也可以使用通配符来引入。
这里主要配置了MVC必要的三大工具,处理器映射器、处理器适配器、视图解析器。
mybatis.xml
<typeAliases>
<package name="com.smy.pojo" />
</typeAliases>
在Mybatis配置文件中,只要配置全局行为就可以,如果没有整合Spring,当然还要配置数据源,这里我把设置别名配置在了Mybatis配置文件中,前面有说过,这里也可以把扫描Mapper的配置放进来。
web.xml
c3p0-config.properties
jdbc.driverClass = com.mysql.jdbc.Driver
jdbc.jdbcUrl = jdbc:mysql://localhost:3306/smbms?useUnicode=true&characterEncoding=utf-8
jdbc.user = root
jdbc.password =
jdbc.miniPoolSize =
jdbc.maxPoolSize =
jdbc.initialPoolSize =
jdbc.maxIdleTime =
jdbc.acquireIncrement =
jdbc.acquireRetryAttempts =
jdbc.acquireRetryDelay =
jdbc.testConnectionOnCheckin = true
jdbc.automaticTestTable = c3p0TestTable
jdbc.idleConnectionTestPeriod =
jdbc.checkoutTimeout=
log4j.properties
# rootLogger是所有日志的根日志,修改该日志属性将对所有日志起作用
log4j.rootLogger=debug,info,con
log4j.appender.con=org.apache.log4j.ConsoleAppender
log4j.appender.con.layout=org.apache.log4j.PatternLayout
log4j.appender.con.layout.ConversionPattern=%d{MM-dd HH:mm:ss}[%p]%c%n -%m%n
手机扫一扫
移动阅读更方便
你可能感兴趣的文章