SpringMVC+Mybatis學習

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

  1. servlet配置:添加spring的DispatcherServlet,處理mvc請求app

  2. 爲DispatcherServlet配置spring的xml文件路徑,contextConfigLocation,若是contextConfigLocation未定義,系統自動識別與DispatcherServlet名字相同的配置文件進行解析

  3. 爲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配置

  1. 開啓註解模式<mvc:annotation-driven />

  2. 開啓自動掃描模式<context:component-scan base-package="org.simple"></context:component-scan>,自動掃描org.simple包下的全部類的註解,找到controller,並自動裝配成bean

  3. 視圖配置

<?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配置

  1. 加載mysql的配置文件,<context:property-placeholder location="classpath:MySql.properties" />

  2. 配置DataSorce數據源

  3. 將Spring與Mybatis進行整合,把Mybits的配置文件,Spring的數據源經過mybis-spring做橋接,提供一個由spring管理的bean而且可以提供mybits的SqlSessionFactory提供的服務。

  4. 自動掃描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的配置

  1. mysql數據庫鏈接配置文件

jdbc.driverClassName=com.mysql.jdbc.Driver

jdbc.url=jdbc:mysql://localhost:3306/test

jdbc.user=root

jdbc.password=123456

  1. 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>
相關文章
相關標籤/搜索