1.创建springboot项目

  (1)选择Spring Initializr

    

  (2)填写自己的Group 与 Artifact

    

  (3)选择依赖框架

    

  等待maven下载好依赖和插件即可

2.主配置文件(这里使用的是更为简洁的ylm文件)

 application.yml

  主要配置了数据源和mapper路径与实体类别名

spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
username: root
password: 330069879
mybatis:
mapper-locations: classpath:/mapper/*.xml
type-aliases-package: com.datatest.signup.entity

3.实体类与表的映射关系

 Person.java

package com.datatest.signup.entity;

public class Person {
private String id;
private String name;
private int age;
private int sex; public void setId(String id) {
this.id = id;
} public void setName(String name) {
this.name = name;
} public void setAge(int age) {
this.age = age;
} public void setSex(int sex) {
this.sex = sex;
} @Override
public String toString() {
return "Person{" +
"id='" + id + '\'' +
", name='" + name + '\'' +
", age=" + age +
", sex=" + sex +
'}';
}
}

  数据库表person

  

4.mapper.xml  与    PersonMapper

<?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.datatest.signup.mapper.PersonMapper">
<select id="queryPersonById" resultType="Person" parameterType="String">
select * from person where id=#{id}
</select>
</mapper>

 PersonMapper.java

package com.datatest.signup.mapper;

import com.datatest.signup.entity.Person;
import org.springframework.stereotype.Repository; @Repository
public interface PersonMapper {
Person queryPersonById(String id);
}

5.Service层

PersonService.java
package com.datatest.signup.service;

import com.datatest.signup.entity.Person;

public interface PersonService {
public Person queryPersonById(String id);
}
package com.datatest.signup.service.impl;

import com.datatest.signup.entity.Person;
import com.datatest.signup.mapper.PersonMapper;
import com.datatest.signup.service.PersonService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; @Service
public class PersonServiceImpl implements PersonService {
@Autowired
private PersonMapper personMapper; @Override
public Person queryPersonById(String id) {
return personMapper.queryPersonById(id);
}
}

6.controller层

package com.datatest.signup.controller;

import com.datatest.signup.entity.Person;
import com.datatest.signup.service.PersonService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping; import java.util.Map; @Controller
public class StudentController { @Autowired
private PersonService personService; @RequestMapping("query/{id}")
public String queryPersonById(@PathVariable String id, Map<String,Object> map){
Person person = personService.queryPersonById(id);
System.out.println(person);
map.put("person",person);
return "result";
}
}

7.前段页面

index.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>sprint boot</title>
</head>
<body>
<a href="query/P01">查询一个人</a>
</body>
</html>

result.html

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>result</title>
</head>
<body>
<p th:text="${person}">没有查询到该人</p>
</body>
</html>

8.主程序文件

package com.datatest.signup;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; @MapperScan("com.datatest.signup.mapper")
@SpringBootApplication
public class SignupApplication { public static void main(String[] args) {
SpringApplication.run(SignupApplication.class, args);
} }

9.测试效果

  

  

springboot整合mybatis与thymeleaf的更多相关文章

  1. JavaEE开发之SpringBoot整合MyBatis以及Thymeleaf模板引擎

    上篇博客我们聊了<JavaEE开发之SpringBoot工程的创建.运行与配置>,从上篇博客的内容我们不难看出SpringBoot的便捷.本篇博客我们继续在上篇博客的基础上来看一下Spri ...

  2. SpringBoot整合MyBatis及Thymeleaf

    http://www.cnblogs.com/ludashi/archive/2017/05/08/6669133.html 上篇博客我们聊了<JavaEE开发之SpringBoot工程的创建. ...

  3. SpringBoot整合Jsp和Thymeleaf (附工程)

    前言 本篇文章主要讲述SpringBoot整合Jsp以及SpringBoot整合Thymeleaf,实现一个简单的用户增删改查示例工程.事先说明,有三个项目,两个是单独整合的,一个是将它们整合在一起的 ...

  4. springBoot整合mybatis、jsp 或 HTML

    springBoot整合mybatis.jsp Spring Boot的主要优点: 1:  为所有Spring开发者更快的入门: 2:  开箱即用,提供各种默认配置来简化项目配置: 3:  内嵌式容器 ...

  5. SpringBoot整合Mybatis完整详细版二:注册、登录、拦截器配置

    接着上个章节来,上章节搭建好框架,并且测试也在页面取到数据.接下来实现web端,实现前后端交互,在前台进行注册登录以及后端拦截器配置.实现简单的未登录拦截跳转到登录页面 上一节传送门:SpringBo ...

  6. SpringBoot整合Mybatis完整详细版

    记得刚接触SpringBoot时,大吃一惊,世界上居然还有这么省事的框架,立马感叹:SpringBoot是世界上最好的框架.哈哈! 当初跟着教程练习搭建了一个框架,传送门:spring boot + ...

  7. SpringBoot整合mybatis、shiro、redis实现基于数据库的细粒度动态权限管理系统实例

    1.前言 本文主要介绍使用SpringBoot与shiro实现基于数据库的细粒度动态权限管理系统实例. 使用技术:SpringBoot.mybatis.shiro.thymeleaf.pagehelp ...

  8. springboot整合mybatis(SSM开发环境搭建)

    0.项目结构: ---------------------方法一:使用mybatis官方提供的Spring Boot整合包实现--------------------- 1.application.p ...

  9. 三、SpringBoot 整合mybatis 多数据源以及分库分表

    前言 说实话,这章本来不打算讲的,因为配置多数据源的网上有很多类似的教程.但是最近因为项目要用到分库分表,所以让我研究一下看怎么实现.我想着上一篇博客讲了多环境的配置,不同的环境调用不同的数据库,那接 ...

随机推荐

  1. java Spring整合Freemarker的详细步骤

    java Spring整合Freemarker的详细步骤 作者: 字体:[增加 减小] 类型:转载 时间:2013-11-14我要评论 本文对Spring整合Freemarker步骤做了详细的说明,按 ...

  2. redis集群JedisCluster连接关闭问题

    JedisCluster连接关闭问题 set方法为例 //伪代码 JedisCluster jedisCluster = new JedisCluster(); jedisCluster.set(&q ...

  3. Jackson自定义反序列化

    // 设置jackson时间反系列化格式 SimpleModule module = new SimpleModule(); module.addDeserializer(Date.class, ne ...

  4. OO第四次博客作业(第四单元作业及期末总结)

    (注意:本文写作顺序与作业要求不完全一致,但涵盖了作业的所有要求) 一学期的BUAA特色OO课程结束了. PART 1  我想先写我这一学期的感想 从第一单元满怀期待地写完多项式求值到最后看着60分不 ...

  5. 在Anaconda3环境下安装并切换 Tensorflow 2.0 环境

    背景 Anaconda切换各种环境非常方便,现在我们就来介绍一下如何使用anaconda安装tensorflow环境. anaconda v3.5 from 清华镜像站 tensorflow v2.0 ...

  6. @Autowired 和 @ Resource 的区别

    转 都是用来装配Bean的注解.都可以写在字段上,或写在setter方法上. @Autowired注解是按照类型(byType)装配依赖对象,默认情况下它要求依赖对象必须存在,如果允许null值,可以 ...

  7. MongoDB 监控指标

    MongoDB uptime 启动时长 asserts.user 用户的断言数量 asserts.warning 警告的断言数量 connections.current 当前的连接数 大于 650co ...

  8. Python最新暴力破解WiFi,攻破所有密码限制,最强破解!

    暴力破解wifi密码 这个代码也是非常简单,这里需要用Python中的pywifi这个库,所以需要在DOS命令下安装这个库,同样使用pip install pywifi,很简单就安装成功了,我用的是P ...

  9. 修正png

    这是修正+取MD5的方法 function MD5FileTextPng(filename: AnsiString): AnsiString; var buf: ..MAX_PATH - ] of C ...

  10. kali下的截图工具scrot、flameshot和deepin-scrot

    对于这几个截图工具,精简好用的应该是deepin-scrot了,这是个和QQ截图有类似功能的Linux截图工具.flameshot的功能是最多的,也很好用,虽然有的功能用不上. 1.scrot安装和使 ...