springboot系列五:springboot整合mybatisplus jsp
时间:2019-10-23
本文章向大家介绍springboot系列五:springboot整合mybatisplus jsp,主要包括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>
项目结构如下
项目地址
原文地址:https://www.cnblogs.com/aibabel/p/11725703.html
- ASP.NET 实现Base64文件流下载PDF
- MVC自定义视图引擎地址
- JS禁止鼠标右键、禁止全选、复制、粘贴的方法(所谓的防盗功能)
- impdp异常中断导致的问题(r2第8天)
- 利用autocomplete.js实现仿搜索效果(ajax动态获取后端[C#]数据)
- sql语句的简化(r2第7天)
- Ajax jsonp 跨域请求实例
- asp.net动态解析用户控件(UserControl)
- 找到多个与名为“Home”的控制器匹配的类型的解决方案
- 关于sequence问题的紧急处理(r2第26天)
- 使用动态变量进行动态数据比较(r2笔记25天)
- MVC分部视图@Html.Partial
- 基于马尔科夫链的产品评估预测
- MVC 控制器中传递dynamic(对象) 给视图
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法