springboot系列五:springboot整合mybatisplus jsp

一.用IDEA创建项目

   1.添加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.aibabel</groupId>
    <artifactId>boot1</artifactId>
    <version>1.0-SNAPSHOT</version>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.1.RELEASE</version>
        <relativePath /> <!-- lookup parent from repository -->
    </parent>


    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <!-- <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope> </dependency> -->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.0.6</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-freemarker</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <optional>true</optional>
    </dependency>
    <!--druid -->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
        <version>1.1.4</version>
    </dependency>
    <!--commons -->
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
    </dependency>
    <dependency>
        <groupId>commons-configuration</groupId>
        <artifactId>commons-configuration</artifactId>
        <version>1.10</version>
    </dependency>
    <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.5</version>
    </dependency>
    <!--shiro -->
    <dependency>
        <groupId>org.apache.shiro</groupId>
        <artifactId>shiro-core</artifactId>
        <version>1.3.2</version>
    </dependency>
    <dependency>
        <groupId>org.apache.shiro</groupId>
        <artifactId>shiro-spring</artifactId>
        <version>1.3.2</version>
    </dependency>
    <dependency>
        <groupId>com.auth0</groupId>
        <artifactId>java-jwt</artifactId>
        <version>3.2.0</version>
    </dependency>
    <!-- fastjson -->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.2.50</version>
    </dependency>
    <!-- mybatis代码生成器 -->
    <dependency>
        <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-maven-plugin</artifactId>
        <version>1.3.7</version>
    </dependency>

    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
    </dependency>
    </dependencies>

</project>

2.分别写三层代码

javabean

    

package com.aibabelx.entity;

public class Student {

    private   String xh;
    private  String xm;
    private  double fs;

    public String getXh() {
        return xh;
    }

    public void setXh(String xh) {
        this.xh = xh;
    }

    public String getXm() {
        return xm;
    }

    public void setXm(String xm) {
        this.xm = xm;
    }

    public double getFs() {
        return fs;
    }

    public void setFs(double fs) {
        this.fs = fs;
    }
}

2.mapper接口

package com.aibabelx.mapper;

import com.aibabelx.entity.Student;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;
@Mapper
public interface StudentMapper extends BaseMapper<Student> {

    public  int  getSum();
    public List<Student> getMax();
    public  List<Student> getSax();

}

3.service接口

package com.aibabelx.service;

import com.aibabelx.entity.Student;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.stereotype.Service;

import java.util.List;


public interface StudentService   extends IService<Student> {
    public  int  getSum();
    public List<Student> getMax();
    public  List<Student> getSax();
}

4.service 实现类

package com.aibabelx.service.impl;

import com.aibabelx.entity.Student;
import com.aibabelx.mapper.StudentMapper;
import com.aibabelx.service.StudentService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class StudentServiceImpl extends ServiceImpl<StudentMapper, Student> implements StudentService {

    @Autowired
    public StudentMapper studentMapper;

    @Override
    public int getSum() {
        return  studentMapper.getSum();
    }

    @Override
    public List<Student> getMax() {
        return  studentMapper.getMax();
    }

    @Override
    public List<Student> getSax() {
        return  studentMapper.getSax();
    }
}

5.controller

package com.aibabelx.controller;

import com.aibabelx.entity.Student;
import com.aibabelx.service.StudentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import java.util.List;

@Controller
public class StudentController {

    @Autowired
    public StudentService studentService;

    @RequestMapping("/index")
    public ModelAndView index(){
        int n = studentService.getSum();
        List< Student > getMax=studentService.getMax();
        List<Student> getSax=studentService.getSax();

        return  new ModelAndView("index.jsp")
                .addObject("max",getMax)
                .addObject("sax",getSax)
                .addObject("n",n);
    }
}

6.mapper的xml

<?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="com.aibabelx.mapper.StudentMapper">

    <!-- 通用查询映射结果 -->
    <resultMap id="ItemBaseResultMap" type="com.aibabelx.entity.Student">
        <id column="xh" property="xh" />
        <result column="xm" property="xm" />
        <result column="fs" property="fs" />

    </resultMap>


    
    <select id="getSum" resultType="Integer" >
        SELECT  COUNT(xh)
        FROM Student

    </select>
    <select id="getMax" resultType="Student">
        SELECT xh,xm,fs from student WHERE fs =(SELECT MAX(fs) from student)

    </select>
    <select id="getSax" resultType="Student">
        SELECT xh,xm,fs from student WHERE fs =(SELECT min(fs) from student)

    </select>

</mapper>

7.application.properties

server.port =9999
spring.http.encoding.force=true
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
server.tomcat.uri-encoding=UTF-8
#jsp config 
spring.mvc.view.prefix=/WEB-INF/views/
#spring.mvc.view.suffix: .jsp

# DataSource 
spring.datasource.url=jdbc:mysql://localhost/aiplay?characterEncoding=utf-8&useSSL=false&serverTimezone=UTC 
spring.datasource.username=root
spring.datasource.password=
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.show-sql = true

mybatis-plus.typeAliasesPackage=com.aibabelx.entity
mybatis-plus.mapperLocations=classpath*:mapper/*.xml
logging.level.com.looedu.mapper=debug
mybatis-plus.check-config-location:true
mybatis-plus.configuration.log-impl:org.apache.ibatis.logging.stdout.StdOutImpl



server.port =9999
spring.http.encoding.force=true
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
server.tomcat.uri-encoding=UTF-8
#jsp config 
spring.mvc.view.prefix=/WEB-INF/views/
#spring.mvc.view.suffix: .jsp

# DataSource 
spring.datasource.url=jdbc:mysql://localhost/aiplay?characterEncoding=utf-8&useSSL=false&serverTimezone=UTC 
spring.datasource.username=root
spring.datasource.password=
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.show-sql = true

mybatis-plus.typeAliasesPackage=com.aibabelx.entity
mybatis-plus.mapperLocations=classpath*:mapper/*.xml
logging.level.com.looedu.mapper=debug
mybatis-plus.check-config-location:true
mybatis-plus.configuration.log-impl:org.apache.ibatis.logging.stdout.StdOutImpl

8.index.jsp

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
   
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
</head>

<body>

 ${n}

<c:forEach items="${max}" var="student" >
   ${student.xh}<br>  ${student.xm}<br>  ${student.fs}<br>
</c:forEach>


<c:forEach items="${sax}" var="student" >
    ${student.xh}<br>  ${student.xm}<br>  ${student.fs}<br>
</c:forEach>

</body>
</html>

项目结构如下

 

 

 项目地址

posted @ 2019-10-23 13:06  左手编程右手诗  阅读(567)  评论(0编辑  收藏  举报