一:基本步骤

  1. 新建Maven项目,导入相关依赖。(推荐)
    ————–Mybatis配置 —————-
  2. 新建entity包,并根据数据库(表)新建相关实体类
  3. 新建dao包,并根据业务创建必要的mapper 接口类
  4. 在resources下新建mybatis-config.xml配置文件。
  5. 在resources源文件夹下新建mapper文件夹,根据3创建的接口类配置相应的mapper.xml
    ————Spring整合Mybatis————–
  6. 在resources文件夹下新建spring文件夹,新建spring-dao.xml,然后添加二者整合的配置。
    ————Spring Service层配置———–
  7. 在spring文件夹下新建spring-service.xml,配置service层的相关bean。
    ————–SpringMVC配置—————-
  8. 在WEB-INF的web.xml中进行我们前端控制器DispatcherServlet的配置。
  9. 在spring文件夹下创建spring-web.xml,进行web层相关bean(即Controller)的配置。

二:详细配置

1.新建Maven项目,导入相关依赖。(推荐)
若不使用maven:请前往Maven官网依次下载jar包导入)

    <properties><!-- 统一源码的编码方式 --><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><!-- 统一各个框架版本 --><spring.version>4.1.7.RELEASE</spring.version><mybatis.version>3.3.0</mybatis.version><mybatis-spring>1.2.3</mybatis-spring></properties><dependencies><dependency><!--3.0的junit是使用编程的方式来进行测试,而junit4是使用注解的方式来运行junit--><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency><!--补全项目依赖--><!--1.日志 java日志有:slf4j,log4j,logback,common-loggingslf4j:是规范/接口日志实现:log4j,logback,common-logging使用:slf4j+logback--><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.12</version></dependency><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-core</artifactId><version>1.1.1</version></dependency><!--实现slf4j接口并整合--><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.1.1</version></dependency><!--1.数据库相关依赖--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.35</version><scope>runtime</scope></dependency><dependency><groupId>c3p0</groupId><artifactId>c3p0</artifactId><version>0.9.1.1</version></dependency><!--2.dao框架:MyBatis依赖--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>${mybatis.version}</version></dependency><!--mybatis自身实现的spring整合依赖--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>${mybatis-spring}</version></dependency><!--3.Servlet web相关依赖--><dependency><groupId>taglibs</groupId><artifactId>standard</artifactId><version>1.1.2</version></dependency><dependency><groupId>jstl</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.5.4</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency><!--4:spring依赖--><!--1)spring核心依赖--><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring.version}</version></dependency><!--2)spring dao层依赖--><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId><version>${spring.version}</version></dependency><!--3)springweb相关依赖--><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring.version}</version></dependency><!--4)spring test相关依赖--><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>${spring.version}</version></dependency></dependencies>

2.新建entity包,并根据数据库(表)新建相关实体类。

//举个栗子 getter/setter
public class Seckill {private int id;private String userName;private int userAge;private String userAddress;....

3.新建dao包,并根据业务创建必要的mapper接口类。

//再举个栗子
public interface SeckillDao {/*** 根据查询对象* @param seckillId* @return*/Seckill queryById(long seckillId);}

4.在resources下新建mybatis-config.xml配置文件。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration> <!-- 配置全局属性 --><settings><!-- 使用jdbc的getGeneratedKeys 获取数据库自增主键值 --><setting name="useGeneratedKeys" value="true"/><!-- 使用列别名替换列名 默认:trueselect name as title from table--><setting name="useColumnLabel" value="true"/><!-- 开启驼峰命名转换:Table(create_time) -> Entity(createTime) --><setting name="mapUnderscoreToCamelCase" value="true"/></settings>
</configuration>

5.在resources源文件夹下新建mapper文件夹,根据第3步创建的接口类配置相应的mapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="换成你的包.dao.SeckillDao"><!-- 目的:为DAO接口方法提供sql语句配置--><select id="queryById" resultType="Seckill" parameterType="long"><!-- 具体sql -->select seckill_id,name,number,start_time,end_time,create_timefrom seckillwhere seckill_id = #{seckillId}</select></mapper>

6.在resources文件夹下新建spring文件夹,新建spring-dao.xml,然后添加二者整合的配置。

/*推荐:在resources包下创建jdbc.properties用于配置数据库的连接信息*/
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/seckill?useUnicode=true&characterEncoding=utf-8
username=root
password=
<?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:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd"><!-- Spring配置整合mybatis过程 --><!-- 1:配置数据库相关参数properties的属性:${url} --><context:property-placeholder location="classpath:jdbc.properties"/><!-- 2:数据库连接池 --><bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"><!-- 配置连接池属性 --><property name="driverClass" value="${jdbc.driver}"/><property name="jdbcUrl" value="${jdbc.url}"/><property name="user" value="${jdbc.username}"/><property name="password" value="${jdbc.password}"/><!-- c3p0连接池的私有属性 --><property name="maxPoolSize" value="30"/><property name="minPoolSize" value="10"/><!-- 关闭连接后不自动commit --><property name="autoCommitOnClose" value="false"/><!-- 获取连接超时时间 --><property name="checkoutTimeout" value="3000"/><!-- 当获取连接失败重试次数 --><property name="acquireRetryAttempts" value="2"/></bean><!-- 约定大于配置 --><!-- 3:配置SqlSessionFactory对象 --><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><!-- 注入数据库连接池 --><property name="dataSource" ref="dataSource"/><!-- 配置MyBatis全局配置文件:mybatis-config.xml --><property name="configLocation" value="classpath:mybatis-config.xml"/><!-- 扫描entity包 使用别名 --><property name="typeAliasesPackage" value="换成你的包.entity"/><!-- 扫描sql配置文件:mapper需要的xml文件 --><property name="mapperLocations" value="classpath:mapper/*.xml"/></bean><!-- 4:配置扫描Dao接口包,动态实现Dao接口,注入到spring容器中--><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><!-- 注入sqlSessionFactory --><property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/><!-- 给出需要扫描Dao接口包 --><property name="basePackage" value="换成你的包.dao"/></bean></beans>

7.在spring文件夹下新建spring-service.xml,配置service层的相关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:context="http://www.springframework.org/schema/context"xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx.xsd"><!--扫描service包下所有使用注解的类型--><context:component-scan base-package="换成你的包.service"/><!-- 说明:下面的Spring事务管理并不是必需 --><!--配置事务管理器 --><bean id="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><!--注入数据库连接池 --><property name="dataSource" ref="dataSource" /></bean><!--配置基于注解的声明式事务 默认使用注解来管理事务行为 --><tx:annotation-driven transaction-manager="transactionManager" /></beans>

Service层的相关bean示例:

//推荐:先定义service接口包再定义service.impl实现包
//@Component 通用 @Service @Dao @Controller控制器
@Service
public class SeckillServiceImpl implements SeckillService{//注入Service依赖@Autowired //@Resourceprivate SeckillDao seckillDao;@Overridepublic List<Seckill> getSeckillList() {return seckillDao.queryAll(0,4);}....

8.在WEB-INF的web.xml中进行我们前端控制器DispatcherServlet的配置。

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"version="3.1" metadata-complete="true">
<!-- metadata-complete="true" 不自动扫描注释:因为action由Spring MVC管理--><!--用maven创建的web-app需要修改servlet的版本为3.1-->
<!--配置DispatcherServlet--><servlet><servlet-name>seckill-dispatcher</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!--配置SpringMVC 需要配置的文件spring-dao.xml,spring-service.xml,spring-web.xmlMybites -> spring -> springMvc--><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring/spring-*.xml</param-value></init-param></servlet><servlet-mapping><servlet-name>seckill-dispatcher</servlet-name><!--默认匹配所有请求--><url-pattern>/</url-pattern></servlet-mapping>
</web-app>

9.在spring文件夹下创建spring-web.xml,进行web层相关bean(即Controller)的配置。

<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"><!--配置spring mvc--><!--1,开启springmvc注解模式a.自动注册DefaultAnnotationHandlerMapping,AnnotationMethodHandlerAdapterb.默认提供一系列的功能:数据绑定,数字和日期的format@NumberFormat,@DateTimeFormatc:xml,json的默认读写支持--><mvc:annotation-driven/><!--2.静态资源默认servlet配置--><!--1).加入对静态资源处理:js,gif,png2).允许使用 "/" 做整体映射--><mvc:default-servlet-handler/><!--3:配置JSP 显示ViewResolver--><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/><property name="prefix" value="/WEB-INF/jsp/"/><property name="suffix" value=".jsp"/></bean><!--4:扫描web相关的bean--><context:component-scan base-package="换成你的包.web"/>
</beans>

web层的相关bean示例:

@Controller //Controller层调用Service层,Service层调用Dao层
@RequestMapping("/seckill") // url:/模块/资源/{id}/细分 /seckill/list
public class SeckillController {@Autowiredprivate SeckillService seckillService;@RequestMapping(value = "/list", method = RequestMethod.GET)public String list(Model model) {//获取列表页List<Seckill> list = seckillService.getSeckillList();model.addAttribute("list", list);//list.jsp + model = ModelAndViewreturn "list";      // /WEB-INF/jsp/"list".jsp}
  • 转载注明:http://blog.csdn.net/yueshutong123/article/details/79337142

转载于:https://www.cnblogs.com/yueshutong/p/9381590.html

Spring+SpringMVC+Mybatis框架整合流程相关推荐

  1. 最详细的Spring+SpringMVC+Mybatis框架整合及mybatis分页讲解,适合初级者

    最详细的关于idea整合ssm框架讲解 一个关于brand(品牌)的项目 [ssm框架搭建源代码及mysql数据库数据]链接:https://pan.baidu.com/s/1eBogklK0rFLj ...

  2. SSM(Spring+SpringMVC+Mybatis)框架环境搭建(整合步骤)(一)

    SSM(Spring+SpringMVC+Mybatis)框架环境搭建(整合步骤)(一) 1. 前言 最近在写毕设过程中,重新梳理了一遍SSM框架,特此记录一下. 附上源码:https://gitee ...

  3. Spring+SpringMVC+Mybatis框架集成搭建教程

    一.背景 最近有很多同学由于没有过SSM(Spring+SpringMvc+Mybatis , 以下简称SSM)框架的搭建的经历,所以在自己搭建SSM框架集成的时候,出现了这样或者那样的问题,很是苦恼 ...

  4. java实现微信支付宝等多个支付平台合一的二维码支付(maven+spring springmvc mybatis框架)

    首先申明,本人实现微信支付宝等支付平台合多为一的二维码支付,并且实现有效时间内支付有效,本人采用的框架是spring springmvc mybatis 框架,maven管理.其实如果支付,不需要my ...

  5. java实现微信支付宝等多个支付平台合一的二维码支付(maven+spring springmvc mybatis框架)...

    首先申明,本人实现微信支付宝等支付平台合多为一的二维码支付,并且实现有效时间内支付有效,本人采用的框架是spring springmvc mybatis 框架,maven管理.其实如果支付,不需要my ...

  6. [Spring+SpringMVC+Mybatis]框架学习笔记(四):Spring实现AOP

    上一章:[Spring+SpringMVC+Mybatis]框架学习笔记(三):Spring实现JDBC 下一章:[Spring+SpringMVC+Mybatis]框架学习笔记(五):SpringA ...

  7. Spring+SpringMVC+MyBatis+easyUI整合优化篇(十三)数据层优化-表规范、索引优化

    本文提要 最近写的几篇文章都是关于数据层优化方面的,这几天也在想还有哪些地方可以优化改进,结合日志和项目代码发现,关于数据层的优化,还是有几个方面可以继续修改的,代码方面,整合了druid数据源也开启 ...

  8. springmvc连接mysql_挺详细的spring+springmvc+mybatis配置整合|含源代码

    大家好,我是雄雄,今天来带着大家来配置一下SSM(spring+springmvc+ mybatis)框架. 01 新建java web项目 直接在myeclipse中,新建一个web项目即可. 02 ...

  9. Java语言开发在线音乐推荐网 音乐推荐系统 网易云音乐爬虫 基于用户、物品的协同过滤推荐算法 SSM(Spring+SpringMVC+Mybatis)框架 大数据、人工智能、机器学习项目开发

    Java语言开发在线音乐推荐网 音乐推荐系统 网易云音乐爬虫 基于用户.物品的协同过滤推荐算法 SSM(Spring+SpringMVC+Mybatis)框架 大数据.人工智能.机器学习项目开发Mus ...

最新文章

  1. Linux下出现Read-only file system的解决办法
  2. Presto实现原理和美团的使用实践
  3. 【LiveVideoStack采访】李备:音视频技术的难点与未来
  4. addall php,ThinkPHP3.2框架使用addAll()批量插入数据的方法
  5. laraverl笔记
  6. HDU2009 求数列的和【入门】
  7. Python 进阶——从 list 到 NumPy 的多维数组
  8. HD2做Windows Phone 7开发机小记(上)
  9. Ansys DesignModeler
  10. Android实现App版本检测、下载与安装新版本apk
  11. 三方应用如何在SystemUI快捷设置中添加快捷开关
  12. Tackling the Qubit Mapping Problem for NISQ-Era Quantum Devices
  13. 1016: 委派任务*
  14. Wifi源码学习(Android5.1)之wifi开关
  15. 开发笔记 | JAVA获取微信步数+日周月排行榜的实现
  16. 【CV-表情识别】如何衡量面部表情丰富性?
  17. linux设置共享文件夹和删除共享文件夹(vmware:linux-windows共享文件夹)
  18. 字符串和字符串标准库
  19. linux内核级调用时间delay函数,及常用文件头
  20. ef连接mysql报root没有权限_EF下使用自定义的connectionString避免数据库密码泄露

热门文章

  1. css限制单行文本输入,超出部分使用...替换
  2. 基于HT for Web的3D拓扑树的实现
  3. Vs2013 头文件注释
  4. Linux下的字符集问题
  5. linux中软件包管理
  6. RHEL6 让 root可以登录桌面
  7. 使用taro命令(taro convert)转h5碰到的一些问题
  8. mysql 启动卡主,cpu 100%
  9. Thinkpad F2不能进行重命名的问题
  10. Rusty String