1,先添加spring支持:

    applicationContext.xml  配在WEBINF下,四个命名空间:aop,context,tx,p

    配Listener:ContextLoaderListener

2,添加SpringMVC支持:

    在web.xml中配servlet:DispatcherServlet    伪静态*.html

    在WEBINF下配MVC-servlet.xml  四个命名空间:aop,context,mvc,p

3,添加Mybatis支持:

    手动把Mybatis的相关类库添加到WEBINF下lib

    在src下新建mybatis.cfg.xml

<?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> <settings>
<setting name="logImpl" value="STDOUT_LOGGING"/>
</settings> <plugins>
<plugin interceptor="cn.bdqn.mybatis.plugin.PaginationInterceptor">
<property name="dialectClass" value="cn.bdqn.mybatis.plugin.MySQLDialect"/>记得根据使用的数据库要修改方言
</plugin>
</plugins> </configuration>

4,分包

5,MVC-servlet.xml中加东西  把验证类库放到lib下

<?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:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd"> <context:component-scan base-package="cn.bdqn.book.controller"/> <!-- 视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/WEB-INF/view/"
p:suffix=".jsp"
/>
<!-- 基于注解的MVC配置 -->
<mvc:annotation-driven/> <!-- 验证器 -->
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<!-- 使用Hibernate验证框架进行验证 -->
<property name="providerClass" value="org.hibernate.validator.HibernateValidator"/> 验证器是由hibernate提供的
</bean> <!-- 文件上传解析器 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"
p:uploadTempDir="file:D:\temp"
p:defaultEncoding="utf-8"
p:maxUploadSize="209715200"
/> </beans>

6,applicationContext.xml 添加东西

<?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:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd">       主容器一扫描就会把所有的对象加到自己的容器中,把子容器的也加进去,应该排除子容器中扫描
    <context:component-scan base-package="cn.bdqn.book">
<!-- 在主容器中扫描组件时,排除掉添加了@Cotroller注解的类 -->
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan> <!-- 配置数据源 -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"
p:driverClassName="com.mysql.jdbc.Driver"
p:url="jdbc:mysql:///Book"
p:username="book"
p:password="123456"
/> <!-- 配置SQLSessionFactory -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"
p:dataSource-ref="dataSource"
p:mapperLocations="classpath:cn/bdqn/book/mapper/*.xml"
p:typeAliasesPackage="cn.bdqn.book.entity"
p:configLocation="classpath:mybatis.cfg.xml"
/> <!-- 配置事务管理器 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"
p:dataSource-ref="dataSource"
/> <!-- 事务增强 -->
<tx:advice id="txAdvice">
<tx:attributes>
<tx:method name="*"/>
</tx:attributes>
</tx:advice> <!-- 事务切面 -->
<aop:config>
<aop:pointcut expression="execution(* cn.bdqn.book.service..*.*(..))" id="txMethods"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="txMethods"/>
</aop:config> <!-- 扫描指定的包,根据映射自动生成Mapper实现类对象 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"
p:basePackage="cn.bdqn.book.mapper"
/> </beans>

7,显示添加表单(po专门用来做数据持久化操作的,vo表单)

添加注解,配访问路径,以get方式显示表单

自己单独建表单对象,不要用实体类。有时候表单不一定就和实体类一一对应

package cn.bdqn.book.controller.book;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import cn.bdqn.book.form.BookForm; @Controller
@RequestMapping("/")
public class AddBookController {
//在执行请求处理方法之前会先调用getForm方法,把对象添加到数据模型中,再调用showForm方法,这个对象就可以到表单了
@ModelAttribute("form")
public BookForm getForm(){
return new BookForm();
} //显示添加图书表单
@RequestMapping(value="add",method=RequestMethod.GET)
public String ShowForm(){
return "add";//
}
}

改造页面  form标签

写mapper包


动态下拉列表

<form:select path="pid" items="${publishers}" itemLabel="name" itemValue="id"/>
<%--
<form:select path="pid" cssClass="text">
<form:option value="">请选择出版社</form:option>
<form:option value="1">人民邮电出版社</form:option>
<form:option value="2">电子工业出版社</form:option>
<form:option value="3">机械工业出版社</form:option>
<form:option value="4">清华大学出版社</form:option>
<form:option value="5">水利出版社</form:option>
</form:select>
--%> package cn.bdqn.book.controller.book; import java.util.List; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import cn.bdqn.book.entity.Publisher;
import cn.bdqn.book.form.BookForm;
import cn.bdqn.book.service.publihser.IPublihserService; @Controller
@RequestMapping("/")
public class AddBookController {
    //把图书列表拿出来
    private IPublihserService publihserService;
    @Autowired
    public void setPublihserService(IPublihserService publihserService) {
        this.publihserService = publihserService;
    }
    
    //在执行请求处理方法之前会先调用getForm方法,把对象添加到数据模型中,再调用showForm方法,这个对象就可以到表单了
    @ModelAttribute("form")//将表单数据对象存入数据模型
    public BookForm getForm(){
        return new BookForm();
    }
    
    //把图书列表放进模型中,将
    @ModelAttribute("publishers")//将动态加载的出版社列表存入数据模型
    public List<Publisher> getPublishers(){
        return publihserService.findPublisher();
    }
    
    //显示添加图书表单
    @RequestMapping(value="add",method=RequestMethod.GET)
    public String ShowForm(){
        return "add";//
    }
    
    //
}

文件上传

导入  commons-io-1.3.2.jar  跟commons-upload  一起配合使用(不用自己导入了)

<form:form method="post" modelAttribute="form" enctype="multipart/form-data">

<!-- 文件上传解析器 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"
p:uploadTempDir="file:D:\temp"
p:defaultEncoding="utf-8"
p:maxUploadSize="209715200"
/>

在bookform类中

//图片
        private MultipartFile pic;

Mybatis+SpringMVC+Spring整合的更多相关文章

  1. Mybatis+Springmvc+Spring整合常用的配置文件

    1.创建web项目 2.导入mabatis spring springnvc 需要的jar包 3.创建mybatis,spring,springmvc的配置文件 (1)web.xml配置文件 < ...

  2. Spring+SpringMVC+MyBatis深入学习及搭建(九)——MyBatis和Spring整合

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6964162.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(八)--My ...

  3. Mybatis第五篇【Mybatis与Spring整合】

    Mybatis与Spring整合 既然我们已经学了Mybatis的基本开发了,接下来就是Mybatis与Spring的整合了! 以下使用的是Oracle数据库来进行测试 导入jar包 aopallia ...

  4. MyBatis学习(四)MyBatis和Spring整合

    MyBatis和Spring整合 思路 1.让spring管理SqlSessionFactory 2.让spring管理mapper对象和dao. 使用spring和mybatis整合开发mapper ...

  5. Mybatis与Spring整合,使用了maven管理项目,作为初学者觉得不错,转载下来

    转载自:http://www.cnblogs.com/xdp-gacl/p/4271627.html 一.搭建开发环境 1.1.使用Maven创建Web项目 执行如下命令: mvn archetype ...

  6. Mybatis+struts2+spring整合

    把student项目改造成ssm  struts2 +mybatis+spring 1,先添加spring支持:类库三个,applicationContext.xml写在webinf下四个命名空间,监 ...

  7. mybatis与spring整合(基于配置文件)

    本文主要介绍了如何将mybatis和spring整合在一起使用,本人使用的是mybatis3.05 + spring3.1.0M2 ,使用dbcp作为数据库连接池. 1.编写数据访问接口(UserDa ...

  8. mybatis与spring整合时读取properties问题的解决

    在学习mybatis与spring整合是,想从外部引用一个db.properties数据库配置文件,在配置文件中使用占位符进行引用,如下: <context:property-placehold ...

  9. MyBatis 与 Spring 整合

    MyBatis-Spring 项目 目前大部分的 Java 互联网项目,都是用 Spring MVC + Spring + MyBatis 搭建平台的. 使用 Spring IoC 可以有效的管理各类 ...

随机推荐

  1. linux性能分析工具

    概览 uptime dmesg | tail vmstat 1 mpstat -P ALL 1 pidstat 1 iostat -xz 1 free -m sar -n DEV 1 sar -n T ...

  2. 阿里BCG重磅报告《人工智能,未来致胜之道》

    阿里BCG重磅报告<人工智能,未来致胜之道> 阿里云研究中心.波士顿咨询公司以及Alibaba Innovation Ventures合作共同推出的<人工智能:未来制胜之道>这 ...

  3. Intel+Ardruino 101

    为了传说中的那啥, 啊, 嗯.. #include <CurieBLE.h>const int ledPin = 13; // set ledPin to on-board LED  LE ...

  4. word2007里插入分节符

    1.打开Word文档,将鼠标定位到需要插入分页符的位置(比如第2页的末尾处),切换到"页面布局"功能区. 2.在"页面设置"分组中单击"分隔符&quo ...

  5. React笔记_(2)_react语法1

    这一节内容主要以了解为主. 渐渐的体会react的语法和其特性. ① htmlAndJs 混合编写 react和以往的前后台书写方式不一样. 在之前的多个语言中,讲求的是将页面代码和js代码逻辑分开, ...

  6. 测试驱动开发神器框架Mockito

    作为菜鸟的我,以前没接触过Mock类型的框架,比如说要测试action层,我总是从action层调用service再调用dao访问数据库,这种方式从原则上来说是无疑是非常正确的,在没用mock框架之前 ...

  7. 手机抓包软件Charles安装使用实例 (流媒体播放测试可去下载的时刻检测)

    手机抓包软件Charles安装使用实例   浏览:5258 发布日期:2015/07/17 分类:技术分享 关键字: 手机抓包软件 Charles 大胡子的博客Charles安装使用实例 Charle ...

  8. 【PHP操作sphinx】

    [index.php] [find.php] <?php header("Content-type:text/html;charset=utf-8"); $keyword = ...

  9. JavaEE基础(二十七)/反射、JDK新特性

    1.反射(类的加载概述和加载时机) A:类的加载概述 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现对这个类进行初始化. 加载  就是指将class文件读入 ...

  10. JavaEE基础(二十一)/IO流

    1.IO流(字符流FileReader) 1.字符流是什么 字符流是可以直接读写字符的IO流 字符流读取字符, 就要先读取到字节数据, 然后转为字符. 如果要写出字符, 需要把字符转为字节再写出. 2 ...