springboot系列五:springboot整合mybatisplus jsp
阅读原文时间:2023年07月09日阅读:4

一.用IDEA创建项目

1.添加pom.xml


http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0

<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>

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 {

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 {
public int getSum();
public List getMax();
public List 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 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



<!-- 通用查询映射结果 -->  
<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>

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" %>



<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">  

${n}

${student.xh}
${student.xm}
${student.fs}

${student.xh}
${student.xm}
${student.fs}


项目结构如下

项目地址