maven+springmvc+spring+mybatis+mysql详细搭建整合过程讲解

转自:https://www.cnblogs.com/lmei/p/7190755.html?utm_source=itdadao&utm_medium=referral

@_@ 写在最前

之前分享过下面这几篇:

mybatis学习笔记(五) -- maven+spring+mybatis从零开始搭建整合详细过程(上)(附demo和搭建过程遇到的问题解决方法)

mybatis学习笔记(六) -- maven+spring+mybatis从零开始搭建整合详细过程(下)

springmvc学习笔记(一) -- 从零搭建,基础入门

这一篇,在这些练习的基础上,将它们整合在一起!

 

搭建步骤如下

一、新建maven项目,配置环境,测试是否配置成功

二、整合spring+mybatis,添加ApplicationContext.xml文件,修改pom.xml,,并连接mysql,测试是否搭建成功

(如果想了解单独的mybatis项目,可参考mybatis学习笔记(一)-- 简单入门(附测试Demo详细过程))

三、整合springmvc,添加springmvc-servlet.xml文件,修改调整,测试是否搭建成功

 

附:第一,二步详细操作步骤可参考

mybatis学习笔记(五) -- maven+spring+mybatis从零开始搭建整合详细过程(上)

mybatis学习笔记(六) -- maven+spring+mybatis从零开始搭建整合详细过程(下)

 

当然下面也会附上详细的搭建过程! 

 

项目结构一览

maven+springmvc+spring+mybatis+mysql详细搭建整合过程讲解_第1张图片

 

现在开始体验!!!

一、新建maven项目

1、新建项目,然后修改几个配置,修改完如下:

maven+springmvc+spring+mybatis+mysql详细搭建整合过程讲解_第2张图片

maven+springmvc+spring+mybatis+mysql详细搭建整合过程讲解_第3张图片

 

2、添加Dynamic Web Module

maven+springmvc+spring+mybatis+mysql详细搭建整合过程讲解_第4张图片

 

Apply后,查看项目结构可以看到多了个WebContent

 

3、将WebContent下的两个文件复制到src/main/webapp下,然后将WebContent整个删掉

maven+springmvc+spring+mybatis+mysql详细搭建整合过程讲解_第5张图片

 

4、修改Deployment Assembly,只留下下面几个

maven+springmvc+spring+mybatis+mysql详细搭建整合过程讲解_第6张图片

新增/src/main/webapp,步骤Add->Floder->src->main->webapp->finish

maven+springmvc+spring+mybatis+mysql详细搭建整合过程讲解_第7张图片

 

5、测试,在src/main/webapp下,新建一个index.jsp文件

复制代码
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here

hello

复制代码

修改web.xml

复制代码


    
        index.jsp
    
复制代码

运行tomcat,访问:http://localhost:8888/SSM01/,页面显示“hello”

到此,第一步骤完成!!! 

 

二、整合Spring+MyBatis

1、修改pom.xml,加载项目需要的jar

复制代码

    4.0.0
    com.lmei.ssm
    SSM01
    0.0.1-SNAPSHOT
    war

    
        UTF-8
        4.3.0.RELEASE
    

    
        
            mysql
            mysql-connector-java
            5.1.38
        
        
            org.apache.logging.log4j
            log4j-core
            2.6.1
        
        
            org.mybatis
            mybatis
            3.4.1
        
        
            junit
            junit
            4.10
        

        
        
            org.springframework
            spring-core
            4.1.4.RELEASE
        
        
        
            org.springframework
            spring-context
            4.1.4.RELEASE
        
        
        
            org.springframework
            spring-tx
            4.1.4.RELEASE
        
        
        
            org.springframework
            spring-jdbc
            4.1.4.RELEASE
        
        
        
            org.springframework
            spring-test
            4.1.4.RELEASE
        
        
        
            org.springframework
            spring-web
            4.1.4.RELEASE
        
        
        
            org.springframework
            spring-webmvc
            4.1.4.RELEASE
            
        
        
            org.aspectj
            aspectjweaver
            1.8.5
        
        
        
            org.mybatis
            mybatis-spring
            1.3.0
        
        
        
            javax.servlet
            jstl
            1.2
        
        
        
            com.fasterxml.jackson.core
            jackson-core
            2.5.2
        
        
            com.fasterxml.jackson.core
            jackson-databind
            2.5.2
        
    
复制代码

 

2、数据库准备

新建数据表tb_book,添加测试数据

 

3、新建包和类

maven+springmvc+spring+mybatis+mysql详细搭建整合过程讲解_第8张图片

 

(1)添加实体类Book

复制代码
package com.lmei.ssm.entity;

public class Book {

    private int id;
    private String bookName;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getBookName() {
        return bookName;
    }

    public void setBookName(String bookName) {
        this.bookName = bookName;
    }
    
    @Override
    public String toString() {
        return this.getId()+"\t"+this.getBookName();
    }
}
复制代码

 

(2)添加Dao,BookDao

复制代码
package com.lmei.ssm.dao;

import java.util.List;
import com.lmei.ssm.entity.Book;

public interface BookDao {

    public List getAllBook();
}
复制代码

 

(3)添加service,BookService

复制代码
package com.lmei.ssm.service;

import java.util.List;
import com.lmei.ssm.entity.Book;

public interface BookService {

    public List getAllBook();
}
复制代码

 

(4)添加impl,BookServiceImpl实现BookService

复制代码
package com.lmei.ssm.impl;

import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;

import com.lmei.ssm.dao.BookDao;
import com.lmei.ssm.entity.Book;
import com.lmei.ssm.service.BookService;

@Service
public class BookServiceImpl implements BookService{
    @Resource
    BookDao bookDao;
    public List getAllBook() {    
        return bookDao.getAllBook();
    }
}
复制代码

 

(5)添加BookMapper

复制代码



    
复制代码

 

4、添加ApplicationContext.xm和db.propertiesl文件,并注册映射

ApplicationContext.xml

复制代码

  


    
    

    
    
        
        
        
        
    
    
    
    
        
        
        
        
        
        
    
    
    
    
        
        
        
        
    
  
      
    
        
    
    
    
    
    
        
    
    
复制代码

db.properties

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
jdbc.username=root
jdbc.password=123456

 

5、添加测试类

TestMyBatisSpring

复制代码
package com.lmei.ssm.test;

import static org.junit.Assert.assertNotNull;
import java.util.List;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.lmei.ssm.dao.BookDao;
import com.lmei.ssm.entity.Book;

public class TestMyBatisSpring {
    @Test
    public void test() {
        //初始化容器
        ApplicationContext ctx=new ClassPathXmlApplicationContext("ApplicationContext.xml");
        //获得bean     
        BookDao bookDao = ctx.getBean(BookDao.class);
        //访问数据库
        List books = bookDao.getAllBook();
        for (Book book : books) {
            System.out.println(book.getBookName());
        }
        assertNotNull(books);
    }
}
复制代码

Run As->JUnit Test

maven+springmvc+spring+mybatis+mysql详细搭建整合过程讲解_第9张图片

到此,第二步完成Spring+MyBatis+Mysql!!! 

 

三、整合springmvc

1、修改实体类Book

复制代码
package com.lmei.ssm.entity;

import java.io.Serializable;

public class Book implements Serializable {
    private static final long serialVersionUID = 1L;
private int id;
    private String bookName;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getBookName() {
        return bookName;
    }

    public void setBookName(String bookName) {
        this.bookName = bookName;
    }

    @Override
    public String toString() {
        return "id:" + getId() + ",bookName:" + getBookName() ;
    }

}
复制代码

 

2、在WEB-INF下新建一个文件夹view,然后在里面新建hello.jsp文件,用来测试springmvc是否搭建成功

路径webapp/WEB-INF/view/hello.jsp

复制代码
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%-- <%@ page isELIgnored="false" %> --%>




Insert title here


    

${message}

复制代码

 

3、新建一个controller,HelloWorld.java

HelloWorld.java代码:

复制代码
package com.lmei.ssm.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

//@Controller是为了让Spring IOC容器初始化时自动扫描到;
//@RequestMapping是为了映射请求路径
@Controller
@RequestMapping("/Hello")
public class HelloWorld {
    @RequestMapping("/SayHello")   
    public String SayHello(Model model) {        
        model.addAttribute("message", "Hello Spring MVC!");
        System.out.println(model.containsAttribute("message")); //是否成功赋值
return "hello";
    }   
}
复制代码

 

 4、添加springmvc-servlet.xml

复制代码



    
    
    
    
    

    
    
    
    
    
        
        
        
        
    
    
复制代码

 

5、修改web.xml

复制代码



    
        index.jsp
    

    
    
        org.springframework.web.context.ContextLoaderListener
    
    
        contextConfigLocation
        classpath*:ApplicationContext.xml
    

    
        springmvc
        org.springframework.web.servlet.DispatcherServlet
        
            
            contextConfigLocation
            classpath*:springmvc-servlet.xml
        
        1
    
    
        springmvc
        /
    

    
    
        characterEncodingFilter
        org.springframework.web.filter.CharacterEncodingFilter
        
            encoding
            UTF-8
        
        
            forceEncoding
            true
        
    
    
        characterEncodingFilter
        /*
    

复制代码

之前在测试过程中,不小心把/ 写错成 /*,导致springmvc把*.jsp,*.sql,*.txt都当做txt处理,访问页面时,直接在浏览器加载了jsp源码。

导致测试页面hello.jsp中的${message}一直取不到Controller传过来的值。


        springmvc
        /

 

6、测试,项目右键->Run As->Run On Server->Tomcat...

运行成功后,访问:http://localhost:8888/SSM01/Hello/SayHello

控制台输出:输出true,表示${message}赋值成功

浏览器输出:

到此,SpringMVC搭建成功 !!!

 

继续整合!!!

7、在controller包下,新建一个BookController

复制代码
package com.lmei.ssm.controller;

import java.util.List;

import javax.annotation.Resource;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import com.lmei.ssm.entity.Book;
import com.lmei.ssm.service.BookService;

@Controller
@RequestMapping("/Book")
public class BookController {

    @Resource
    BookService bookService;

    @RequestMapping("/getAllBook")
    public String getAllBook(Model model) {
        List books = bookService.getAllBook();
        for (Book book : books) {
            System.out.println(book.getBookName());
        }
        
        model.addAttribute("books", books);
        return "Book/index";
    }
}
复制代码

 

8、在WEB-INFO/view下新建一个文件夹Book,然后在文件夹内添加index.jsp

maven+springmvc+spring+mybatis+mysql详细搭建整合过程讲解_第10张图片

Book/index.jsp代码:

复制代码
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>




图书管理


    

图书管理

编号 书名
${book.id} ${book.bookName}
复制代码

 

9、测试

运行服务器,在浏览器访问:http://localhost:8888/SSM01/Book/getAllBook

maven+springmvc+spring+mybatis+mysql详细搭建整合过程讲解_第11张图片

到此,完成SpringMVC+Spring+MyBatis的整合!!!

你可能感兴趣的:(java,测试,数据库)