配置要点:java
总体描述:mysql
从web.xml配置入手,找到Spring的配置(SpringMVC+Mybatis配置文件,路径在web.xml中指明是WEB-INF下的*Context.xml),从Spring的配置中找到Mybatis的配置(路径在classpath:MySql.properties和classpath:MyBatis-config.xml),为Mybatis的配置中增长Mapper(如:<mapper resource="org/simple/dao/mapper/UserMapper.xml"/>)web
几个重要的类:spring
1.Spring的org.springframework.web.servlet.DispatcherServletsql
2.Spring的org.springframework.jdbc.datasource.DriverManagerDataSource数据库
3.Spring-Mybatis的org.mybatis.spring.SqlSessionFactoryBeanspring-mvc
4.SpringMybatis的org.mybatis.spring.mapper.MapperScannerConfigurermybatis
1、从web.xml中入口mvc
servlet配置:添加spring的DispatcherServlet,处理mvc请求app
为DispatcherServlet配置spring的xml文件路径,contextConfigLocation,若是contextConfigLocation未定义,系统自动识别与DispatcherServlet名字相同的配置文件进行解析
为DispatcherServlet创建映射,须要将哪一种类型的请求转发给DispatcherServlet处理
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns=" http://java.sun.com/xml/ns/javaee " xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance " xsi:schemaLocation=" http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd "> <servlet> <servlet-name>test</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- DispatcherServlet 默认加载的bean文件是/WEB-INF/(servlet-name)-servlet.xml 能够经过配置contextConfigLocation来改变加载的文件 --> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/*Context.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <!--为DispatcherServlet创建映射 --> <servlet-mapping> <servlet-name>test</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
2、研究spring的配置
(一)SpringMVC配置
开启注解模式<mvc:annotation-driven />
开启自动扫描模式<context:component-scan base-package="org.simple"></context:component-scan>,自动扫描org.simple包下的全部类的注解,找到controller,并自动装配成bean
视图配置
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"> <!-- 开启注解模式 --> <mvc:annotation-driven /> <!-- 对org.simple下全部包下的类的注解进行扫描,并自动建立bean实例和装配bean --> <context:component-scan base-package="org.simple"></context:component-scan> <!-- 配置视图 --> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/" /> <property name="suffix" value=".jsp" /> <!-- 可为空,方便实现自已的依据扩展名来选择视图解释类的逻辑 --> <property name="viewClass"> <value>org.springframework.web.servlet.view.InternalResourceView </value> </property> </bean> </beans>
(二)Spring的Mybatis配置
加载mysql的配置文件,<context:property-placeholder location="classpath:MySql.properties" />
配置DataSorce数据源
将Spring与Mybatis进行整合,把Mybits的配置文件,Spring的数据源经过mybis-spring做桥接,提供一个由spring管理的bean而且可以提供mybits的SqlSessionFactory提供的服务。
自动扫描Mapper
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns=" http://www.springframework.org/schema/beans " xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance " xmlns:tx=" http://www.springframework.org/schema/tx " xmlns:mvc=" http://www.springframework.org/schema/mvc " xmlns:context=" http://www.springframework.org/schema/context " xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd "> <!-- 载入MySql配置 文件--> <context:property-placeholder location="classpath:MySql.properties" /> <!-- 配置DataSource数据源--> <bean id="DataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="${jdbc.driverClassName}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.user}" /> <property name="password" value="${jdbc.password}" /> </bean> <!-- Spring-Mybatis整合 --> <bean id="SqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="configLocation" value="classpath:MyBatis-config.xml" /> <property name="dataSource" ref="DataSource" /> </bean> <!-- 自动扫描mappar--> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="org.simple.dao"></property> </bean> </beans>
3、MyBits的配置
mysql数据库链接配置文件
jdbc.driverClassName=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/test jdbc.user=root jdbc.password=123456
MyBits的配置文件
<?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> <typeAliases> <typeAlias alias="User" type="org.simple.model.User"/> </typeAliases> <mappers> <mapper resource="org/simple/dao/mapper/UserMapper.xml"/> </mappers> </configuration>
mapper文件样本
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="org.simple.dao.IUser"> <select id="insertUser" parameterType="User"> insert into user(name) values(#{name}) </select> </mapper>