分为三步来说:
这里的是mapper.xml实现
1: dao层(实现层)+service(业务层):
#pom文件配置:
spring相关:
spring-context,
spring-jdbc,
aspectjweaver(AOP用到)
mybatais相关:
mybatis,
mybatis-spring
springmvc相关
spring-webmvc,
servlet-api,
jsp-api
jsp-api(解析前端java代码)
jstl(标签库,解析标签)
jackson-databind(解析前端的json数据)
#mybatis层和service层 的springConfig.xml配置
1 注解扫描
<context:componet-scan base-package ="你要扫描的包">
<context:exclude-filter type="annotation " experssion="org.springframwork.stereotype.Controller"/>
</context>
2 加载数据库配置文件druid.properties
<context:property-placeholder location="classpath:配置的druid.properties"/>
3 配置数据源datasources( a.password是配置文件中的key)
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${a.username}"/>
<property name="password" value="${a.password}"/>
</bean>
4 建立工厂类sqlsessionfactiory
<bean name="sqlSessionFactiory" class="org.mybatis.spring.SqlSessionFactionBean'/>
<property name="dataSource" ref="dataSource">
</bean>
5 扫描接口mapper接口包
<bean class=“org.mybatis.spring.mapper.MapperScannerConfigurer”>
<property name ="backpage" value="你的mapper接口位置"
</bean>
6 配置aop
6.0 配置jbdc事务管理DataSourceTransactionManager
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
6.1 事务增强(通知)
<tx:advice id="txadvice">
<tx:atttibutes>
<tx:method name="*"/>
</tx:atttibutes>
<tx:advice >
6.2 织入
<aop:config>
<aop:advisor advice-ref="txadvice" pointcut="exection(*cn.itcast.service.impl.*.*(..))"/>
</aop:config>
#sqlMapperConfig.xml:(主要配置domain别名的)
<!--定义别名-->
<configuration>
<typeAliases>
<package name="cn.itcast.domain"></package>
</typeAliases>
</configuration>
2 #sprimgMvc:
<context:component-scan base-package="cn.itcast.controller"/>
<mvc:annotation-driven/>(注解驱动)
<mvc:default-servlet-handler/>(释放静态资源)
3 #web.xm :
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<!--1加载springmvc-->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springMvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<!-- 2加载springCnfig 监听器-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springConfig.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- 字符过滤-->
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>