Spring Boot学习随笔- 集成JSP模板(配置视图解析器)、整合Mybatis(@MapperScan注解的使用)

本文主要是介绍Spring Boot学习随笔- 集成JSP模板(配置视图解析器)、整合Mybatis(@MapperScan注解的使用),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

学习视频:【编程不良人】2021年SpringBoot最新最全教程

第五章、JSP模板集成

5.1 引入JSP依赖

<!--引入jsp解析依赖-->
<!--C标签库-->
<dependency><groupId>jstl</groupId><artifactId>jstl</artifactId><version>1.2</version>
</dependency>
<!--让内嵌tomcat具有解析jsp功能-->
<dependency><groupId>org.apache.tomcat.embed</groupId><artifactId>tomcat-embed-jasper</artifactId>
</dependency>

5.2 配置jsp视图解析器

# 配置jsp视图解析器
spring:mvc:view:prefix: /suffix: .jsp

5.3 指定Jsp访问目录

在main创建webapp,然后创建index.jsp进行测试,在访问之前需要进行一个设置,否则springboot是找不到jsp页面的

  • 修改jsp无需重启应用

    server:port: 8989servlet:context-path: /springboot02jsp:init-parameters:development: true # 开启jsp页面开发模式 作用:无需重启应用,直接刷新网页
    

第六章、整合MyBatis框架

数据库访问框架:hibernate、jpa、mybatis【主流】

SpringBoot(微框架) = Spring(工厂) + SpringMVC(控制器)

SpringBoot整合MyBatis的思路基本上是和Spring整合MyBatis是一致的

6.1 引入依赖

<!--引入和MyBatis整合相关的依赖-->
<!--druid-->
<dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.19</version>
</dependency>
<!--mysql-->
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId>
</dependency>
<!--mybatis-spring-boot-stater-->
<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>3.0.0</version>
</dependency>

6.2 @MapperScan注解

作用:用在类上,扫描dao接口所在包,同时将所有dao接口交给工厂创建对象

用法

@SpringBootApplication
**@MapperScan({"com.baizhi.dao"})**  
public class Springboot03Application {public static void main(String[] args) {SpringApplication.run(Springboot03Application.class, args);}}

6.3 整合mybatis相关配置

server:port: 8989servlet:context-path: /springboot03 #指定应用名称**#整合mybatis相关配置**
spring:datasource:type: com.alibaba.druid.pool.DruidDataSource #指定数据源driver-class-name: com.mysql.cj.jdbc.Driver # mysql8以上选择带cj的Driverurl: jdbc:mysql://localhost:3306/ssm?characterEncoding=UTF-8username: rootpassword: 123456mybatis:mapper-locations: classpath:com.baizhi.mapper/*.xml **#指定mapper配置文件位置**type-aliases-package: com.baizhi.entity **#指定实体类的别名** 默认别名:类名(首字母小写)

6.4 实体类、Service、DAO

  • 实体类

    public class Emp {private Integer id;private String name;@JsonFormat(pattern = "yyyy-MM-dd")private Date birthday;private Double salary;
    }
    
  • Service实现类

    @Service
    @Transactional
    public class EmpServiceImpl implements EmpService {@Autowiredprivate EmpDAO empDAO;public EmpServiceImpl(EmpDAO empDAO) {this.empDAO = empDAO;}@Overridepublic List<Emp> findAll() {return empDAO.findAll();}@Overridepublic void save(Emp emp) {empDAO.save(emp);int i = 1/0; // 测试是否回滚}
    }
    
  • 控制器

    @RestController
    public class EmpController {@Autowiredprivate EmpService empService;public EmpController(EmpService empService) {this.empService = empService;}@RequestMapping("findAll")public List<Emp> findAll() {return empService.findAll();}@RequestMapping("save")public void save(Emp emp) {empService.save(emp);}
    
  • Mapper文件

    <?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.baizhi.dao.EmpDAO"><insert id="save">insert into emp values(#{id},#{name},#{birthday},#{salary})</insert><select id="findAll" resultType="com.baizhi.entity.Emp">select id,`name`,birthday,salary from emp</select>
    </mapper>
    
  • 测试结果

    http://127.0.0.1:8989/springboot03/save?name=mike&birthday=2021/1/4&salary=23.01

    可以正常添加

    也可以正常查询

6.5 @Mapper 和 @MapperScan

@MapperScan是加在入口类,自动扫描包下面的dao接口一劳永逸【推荐】

@Mapper是直接加在dao接口,每个dao都要添加

下一章:Spring Boot学习随笔- 本地化测试(@SpringBootTest)、热部署(spring-boot-devtools)、日志Logback常用级别使用、指定包级别输出

这篇关于Spring Boot学习随笔- 集成JSP模板(配置视图解析器)、整合Mybatis(@MapperScan注解的使用)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/486578

相关文章

Nginx 配置跨域的实现及常见问题解决

《Nginx配置跨域的实现及常见问题解决》本文主要介绍了Nginx配置跨域的实现及常见问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来... 目录1. 跨域1.1 同源策略1.2 跨域资源共享(CORS)2. Nginx 配置跨域的场景2.1

python使用库爬取m3u8文件的示例

《python使用库爬取m3u8文件的示例》本文主要介绍了python使用库爬取m3u8文件的示例,可以使用requests、m3u8、ffmpeg等库,实现获取、解析、下载视频片段并合并等步骤,具有... 目录一、准备工作二、获取m3u8文件内容三、解析m3u8文件四、下载视频片段五、合并视频片段六、错误

javax.net.ssl.SSLHandshakeException:异常原因及解决方案

《javax.net.ssl.SSLHandshakeException:异常原因及解决方案》javax.net.ssl.SSLHandshakeException是一个SSL握手异常,通常在建立SS... 目录报错原因在程序中绕过服务器的安全验证注意点最后多说一句报错原因一般出现这种问题是因为目标服务器

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

Java实现删除文件中的指定内容

《Java实现删除文件中的指定内容》在日常开发中,经常需要对文本文件进行批量处理,其中,删除文件中指定内容是最常见的需求之一,下面我们就来看看如何使用java实现删除文件中的指定内容吧... 目录1. 项目背景详细介绍2. 项目需求详细介绍2.1 功能需求2.2 非功能需求3. 相关技术详细介绍3.1 Ja

springboot项目中整合高德地图的实践

《springboot项目中整合高德地图的实践》:本文主要介绍springboot项目中整合高德地图的实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一:高德开放平台的使用二:创建数据库(我是用的是mysql)三:Springboot所需的依赖(根据你的需求再

spring中的ImportSelector接口示例详解

《spring中的ImportSelector接口示例详解》Spring的ImportSelector接口用于动态选择配置类,实现条件化和模块化配置,关键方法selectImports根据注解信息返回... 目录一、核心作用二、关键方法三、扩展功能四、使用示例五、工作原理六、应用场景七、自定义实现Impor

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项

MySQL MCP 服务器安装配置最佳实践

《MySQLMCP服务器安装配置最佳实践》本文介绍MySQLMCP服务器的安装配置方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录mysql MCP 服务器安装配置指南简介功能特点安装方法数据库配置使用MCP Inspector进行调试开发指

nginx启动命令和默认配置文件的使用

《nginx启动命令和默认配置文件的使用》:本文主要介绍nginx启动命令和默认配置文件的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录常见命令nginx.conf配置文件location匹配规则图片服务器总结常见命令# 默认配置文件启动./nginx