文档章节

springmvc学习笔记(6)-springmvc整合mybatis(IDEA中通过maven构建

brianway
 brianway
发布于 2016/03/10 19:40
字数 695
阅读 489
收藏 11

springmvc学习笔记(6)-springmvc整合mybatis(IDEA中通过maven构建)

标签: springmvc mybatis


[TOC]


本文主要展示如何在intellij IDEA中通过maven构建springmvc+mybatis框架的开发环境。

需求:使用springmvc和mybatis完成商品列表查询

整合思路

springmvc_整合mybatis思路

  • 第一步:整合dao层

    • mybatis和spring整合,通过spring管理mapper接口。
    • 使用mapper的扫描器自动扫描mapper接口在spring中进行注册。
  • 第二步:整合service层

    • 通过spring管理service接口。
    • 使用配置方式将service接口配置在spring配置文件中。
    • 实现事务控制。
  • 第三步:整合springmvc

    • 由于springmvc是spring的模块,不需要整合。

工程结构

不同于《mybatis学习笔记(17)-spring和mybatis整合》中的示例demo,本文的整合采用maven构建

如何创建使用maven构建的web应用可以参考前面的一篇《springmvc学习笔记(1)-框架原理和入门配置》

new->project->maven,建一个裸的maven工程,手动建webapp的目录

src/main下新建文件夹webapp

添加依赖

pom.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.iot.learnssm</groupId>
    <artifactId>learnssm-firstssm</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>war</packaging>
    
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <!-- jar 版本设置 -->
        <spring.version>4.2.4.RELEASE</spring.version>
    </properties>


    <dependencies>

        <!-- spring框架-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aspects</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>${spring.version}</version>
        </dependency>


        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.38</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.3.1</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>1.2.4</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
        
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.18</version>
        </dependency>

        <dependency>
            <groupId>commons-dbcp</groupId>
            <artifactId>commons-dbcp</artifactId>
            <version>1.4</version>
        </dependency>

        <!-- JSP tag -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
        <dependency>
            <groupId>taglibs</groupId>
            <artifactId>standard</artifactId>
            <version>1.1.2</version>
        </dependency>
    </dependencies>
    
</project>

这里添加的依赖可能有多的,但总比少包好,我开始就是引少了依赖(springframework的依赖只引用了spring-mvc,连spring-core都没引),导致报错,以后会出一篇博客专门讲这个系列笔记中debug相关问题。

建包

在java目录下建各个package,按照maven的命名习惯:

com.公司名.项目名.模块名

这里我的包为:

com.iot.learnssm.firstssm

包含几个子包:

  • controller
  • mapper
  • po
  • service
    • impl

项目结构如图:

springmvc_整合工程-1

后面几篇笔记会依次记录mapper,service,controller各个部分的整合


作者@brianway更多文章:个人网站 | CSDN | oschina

© 著作权归作者所有

brianway
粉丝 329
博文 97
码字总数 130139
作品 0
武汉
后端工程师
私信 提问
Spring Boot 2.0 的快速入门(图文教程)

摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢! Spring Boot 2.0 的快速入门(图文教程) 大家都知道,Spring Framework 是 Java/S...

01/04
0
0
SpringBoot 与 Kotlin 完美交融

本文讲解 Spring Boot2 基础下,如何使用 Kotlin,并无缝整合与完美交融。 环境依赖 修改 POM 文件,添加 spring boot 依赖。 <parent> </parent><dependencies> </dependencies> 紧接着,我......

java菜分享
04/17
0
0
SSM+Maven+Redis框架学习

理论及实例介绍 1、Maven理论: Maven是apache下的开源项目,Maven主要服务于基于Java平台的项目构建、依赖管理和项目信息管理。 1.1、Maven的几个核心概念 1.1.1、POM(Project Object Mode...

编程SHA
2018/12/21
0
0
spring security 3.2.0.M1 方法级别教程 基于注解——第一部分

说明 一直在用spring security与shiro权限框架。最近spring security升级到了3.2.0.M1,所以更新了一下,看一下是否还是可以按照老方法使用。 基于方法级别的权限控制 spring security通过用户...

欧阳澄泓
2013/06/24
0
0
IntelliJ IDEA 2018.2 EAP 发布,支持 Touch Bar

IntelliJ IDEA 2018.2 EAP 已发布:包含对 MacBook Touch Bar 的支持,对 Gradle 支持的改进,新图标,Spring Boot 及一些更新。 支持 Touch Bar 即将推出的 IntelliJ IDEA 2018.2 引入了 To...

达尔文
2018/05/18
5K
28

没有更多内容

加载失败,请刷新页面

加载更多

访问LNMP虚拟主机出现报错:No input file specified.

之前一直是使用lnmp一键包,但是访问创建的虚拟主机,并没有出现过的错误:No input file specified. 网上的文章很多,但是都是转载,而且原因也很多,根本不适用 后面在lnmp一键包官网找到解...

wenzhizhong
49分钟前
3
0
OSChina 周三乱弹 —— 你还能管得住观众愿意看谁吗

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @宇辰OSC :分享李宗盛的单曲《凡人歌 (电视剧《碧海情天》主题曲)》:你我皆凡人,生在人世间#今日歌曲推荐# 《凡人歌 (电视剧《碧海情天》主...

小小编辑
今天
613
13
Inf2Cat, signability test failed vc2019 wdk驱动sys build签名

解决问题的方法非常简单,只要让Inf2Cat验证的时候使用local时间就可以了。打开package工程的属性,在inf2cat工具的属性中进行设置。

simpower
今天
3
0
LinkedHashMap 是如何保证有序的?

//map的遍历方法如下 for (Map.Entry<String,Integer> entry : map.entrySet()) { System.out.println(entry.getKey()+":"+entry.getValue()); } HashMap#entry......

暗中观察
今天
3
0
Linux的基本命令

目录的操作命令(增删改查) 增: mkdir 目录名称; 查: ls 可以看到该目录下的所有的目录和文件 ls -a,可以看到该目录下的所有文件和目录,包括隐藏的 ls -l,可以看到该目录下的所有目录和...

凹凸凸
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部