配置要點: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>