前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringBoot整合Thymeleaf+Mybatis

SpringBoot整合Thymeleaf+Mybatis

作者头像
roobtyan
发布2020-02-14 15:59:19
8500
发布2020-02-14 15:59:19
举报

关于SpringBoot

注:本文讲述的所有代码均可在微信公众号“最高权限比特流”中回复4获取 SpringBoot是一种微服务框架。 何为微服务框架? 在解释微服务框架前,我们需要先拆分一下SpringBoot这个单词。Spring作为java程序猿的我们,应当是颇为熟悉了。Spring意为春天,程序猿的春天。其强大的IOC容器,为我们的开发提供了便捷。而在开发过程中,我们通常使用SSM框架整合,即经典的MVC模型。 使用过SSM开发的小伙伴一定知道,SSM整合需要配置各种各样的XML,虽然不用刻意去记忆,但是很繁琐,如果配置文件有问题,就会出现各种稀奇古怪的问题。 所以有了boot,提供快速的应用开发。使用Springboot,我们可以省去繁琐的配置文件,只需要简单的开箱即可使用,配合Maven使用更佳。 现在再来说微服务框架。微服务并没有确定的定义,我们只需要知道Springboot是由一个个模块(组件)组合而成的即可,它具有极强的灵活性。

一、IDEA创建SpringBoot项目

首先要声明一点,开发工具全凭个人习惯,无论是idea还是eclipse都可以,这点不必过分纠结。只是对于我而言,IDEA用起来更为习惯。 好了,废话不多说,开始正式配置。 1.创建Maven项目 Maven用于构建项目。Gradle也可以。 流程如下:File->new->project 选择Maven中的quickstart,如下图所示。

在这里插入图片描述
在这里插入图片描述

然后一路next输入相关的信息。最后点击finish,等待Maven项目的构建。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

删除无用的包,创建缺少的包,构建后的目录结构如下图所示。

在这里插入图片描述
在这里插入图片描述

二、核心配置

1.添加构建Springboot所需要的依赖,由于我们是使用Maven构建的项目,所以打开pom.xml,在xml结构根目录中添加parent结点。

<parent>
    <artifactId>spring-boot-starter-parent</artifactId>
    <groupId>org.springframework.boot</groupId>
    <version>2.0.6.RELEASE</version>
</parent>

这段是直接声明springboot以及相关所有依赖的版本,这样就不会因各包版本冲突而导致的错误。 2.接着添加springboot的mvc依赖,以及前端thymeleaf的依赖。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
//这里注意,一定要引入springboot的thymeleaf,而不是直接引thymeleaf

3.编写sprinboot的启动类MainApplication,由于springboot直接内置了Tomcat以及jetty,就无需我们手动配置Tomcat了。

@SpringBootApplication
public class MainApplication {
    public static void main(String[] args) throws Exception {
        SpringApplication.run(MainApplication.class,args);
    }
}

4.创建controller类SampleController

@Controller
@RequestMapping("/demo")
public class SampleController {
    @RequestMapping("/thymeleaf")
    public String thymeleaf(Model model) {
        model.addAttribute("name","roobtyan");
        return "hello";
    }
}

5.在resources目录中新建application.properties,即Springboot配置文件 配置thymeleaf

spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html

6.在resources目录中创建模板目录template,并创建html页面:

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>hello</title>
</head>
<body>
<p th:text="'hello:'+${name}"></p>
</body>
</html>

7.启动MainApplication,在浏览器中输入localhost:8080/demo/thymeleaf,如果输出hello:roobtyan,则证明springboot+thymeleaf整合成功,如下图。

在这里插入图片描述
在这里插入图片描述

三、整合mybatis

springboot整合mybatis相当简单,没必要像整合SSM那么复杂。我们只需要在application.properties中添加如下信息。

#mybatis配置

#实体类配置
mybatis.type-aliases-package=com.roobtyan.project.pojo
#驼峰式支持
mybatis.configuration.map-underscore-to-camel-case=true
mybatis.configuration.default-fetch-size=100
#连接延迟
mybatis.configuration.default-statement-timeout=3000
#mapper.xml所在位置
mybatis.mapper-locations=classpath:com/roobtyan/dao/*.xml

此外,为了高效实用mysql数据库,所以我们需要使用数据库连接池。 现在流行的数据库连接池是druid,由阿里巴巴开发的十分强大的数据库连接池。当然你也可以用C3P0或者DBCP。

spring.datasource.url=jdbc:mysql://localhost:3306/template?useUnicode=true&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource

测试:在数据库中创建数据库template,在template数据库中创建数据表user,user中的对象为id(int)、username(varchar)、password(varchar) 在pojo包中创建User对象:

public class User {
    private int id;
    private String username;
    private String password;

    public int getId() {
        return id;
    }

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

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

在dao中创建UserMapper

@Mapper
public interface UserMapper {
    @Select("select * from user where id = #{id}")
    User getUserById(@Param("id") int id);

    @Insert("insert into user (id,username,password) value( #{id}, #{username},#{password})")
    void insertUser(User user);
}

在service中创建UserService

@Service
public class UserService {
    private UserMapper userMapper;

    @Autowired
    public UserService(UserMapper userMapper) {
        this.userMapper = userMapper;
    }

    public User getUserById(int id) {
        return userMapper.getUserById(id);
    }
}

在SampleController中编写:

// 数据库测试

/**
 * 从数据库中获取内容
 * 声明@ResponseBody的原因是我们需要接收输出的json数据
 *
 * @return
 */
@RequestMapping("/dbGet")
@ResponseBody
public Result<User> dbGet() {
    User userById = userService.getUserById(1);
    return Result.success(userById);
}	

启动MainApplication,调用Controller,在浏览器访问:localhost:8080/demo/dbGet如果出现数据库中的数据的json对象,即证明整合成功。

四、结语

我们在实际的开发过程中,经常会用到redis,如果你需要redis的整合,就给我留言吧! 最后,如果你喜欢这篇文章,请关注微信公众号:“最高权限比特流”。 如果你需要整合的完整代码,请在公众号中回复“4”获取。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-01-29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于SpringBoot
  • 一、IDEA创建SpringBoot项目
  • 二、核心配置
  • 三、整合mybatis
  • 四、结语
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档