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>
相关文章
相关标签/搜索