1.创建springboot项目

  (1)选择Spring Initializr

    

  (2)填写自己的Group 与 Artifact

    

  (3)选择依赖框架

    

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

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

 application.yml

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

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

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

 Person.java

  1. package com.datatest.signup.entity;
  2.  
  3. public class Person {
  4. private String id;
  5. private String name;
  6. private int age;
  7. private int sex;
  8.  
  9. public void setId(String id) {
  10. this.id = id;
  11. }
  12.  
  13. public void setName(String name) {
  14. this.name = name;
  15. }
  16.  
  17. public void setAge(int age) {
  18. this.age = age;
  19. }
  20.  
  21. public void setSex(int sex) {
  22. this.sex = sex;
  23. }
  24.  
  25. @Override
  26. public String toString() {
  27. return "Person{" +
  28. "id='" + id + '\'' +
  29. ", name='" + name + '\'' +
  30. ", age=" + age +
  31. ", sex=" + sex +
  32. '}';
  33. }
  34. }

  数据库表person

  

4.mapper.xml  与    PersonMapper

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.datatest.signup.mapper.PersonMapper">
  6. <select id="queryPersonById" resultType="Person" parameterType="String">
  7. select * from person where id=#{id}
  8. </select>
  9. </mapper>

 PersonMapper.java

  1. package com.datatest.signup.mapper;
  2.  
  3. import com.datatest.signup.entity.Person;
  4. import org.springframework.stereotype.Repository;
  5.  
  6. @Repository
  7. public interface PersonMapper {
  8. Person queryPersonById(String id);
  9. }

5.Service层

  1. PersonService.java
  1. package com.datatest.signup.service;
  2.  
  3. import com.datatest.signup.entity.Person;
  4.  
  5. public interface PersonService {
  6. public Person queryPersonById(String id);
  7. }
  1. package com.datatest.signup.service.impl;
  2.  
  3. import com.datatest.signup.entity.Person;
  4. import com.datatest.signup.mapper.PersonMapper;
  5. import com.datatest.signup.service.PersonService;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.stereotype.Service;
  8.  
  9. @Service
  10. public class PersonServiceImpl implements PersonService {
  11. @Autowired
  12. private PersonMapper personMapper;
  13.  
  14. @Override
  15. public Person queryPersonById(String id) {
  16. return personMapper.queryPersonById(id);
  17. }
  18. }

6.controller层

  1. package com.datatest.signup.controller;
  2.  
  3. import com.datatest.signup.entity.Person;
  4. import com.datatest.signup.service.PersonService;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.stereotype.Controller;
  7. import org.springframework.web.bind.annotation.PathVariable;
  8. import org.springframework.web.bind.annotation.RequestMapping;
  9.  
  10. import java.util.Map;
  11.  
  12. @Controller
  13. public class StudentController {
  14.  
  15. @Autowired
  16. private PersonService personService;
  17.  
  18. @RequestMapping("query/{id}")
  19. public String queryPersonById(@PathVariable String id, Map<String,Object> map){
  20. Person person = personService.queryPersonById(id);
  21. System.out.println(person);
  22. map.put("person",person);
  23. return "result";
  24. }
  25. }

7.前段页面

index.html

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>sprint boot</title>
  6. </head>
  7. <body>
  8. <a href="query/P01">查询一个人</a>
  9. </body>
  10. </html>

result.html

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

8.主程序文件

  1. package com.datatest.signup;
  2.  
  3. import org.mybatis.spring.annotation.MapperScan;
  4. import org.springframework.boot.SpringApplication;
  5. import org.springframework.boot.autoconfigure.SpringBootApplication;
  6.  
  7. @MapperScan("com.datatest.signup.mapper")
  8. @SpringBootApplication
  9. public class SignupApplication {
  10.  
  11. public static void main(String[] args) {
  12. SpringApplication.run(SignupApplication.class, args);
  13. }
  14.  
  15. }

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. NO20文件属性--inode--block-企业场景题

    壹  Linux文件属性描述:在Linux里一切皆文件Linux系统中的文件或目录的属性主要包括:索引节点(inode).文件类型.权限属性.链接数.所归属的用户和用户组.最近修改时间等内容. 例子: ...

  2. 安装双版本python2 和 python 3 所产生得问题 解决yum对python依赖版本问题

    错误 解决办法 一是升级yum  直接使用python3以上版本 二是修改yum的解释器为旧版本python2.7,即将连接文件   /usr/bin/python    软连接回   /usr/bi ...

  3. sqli-labs level 2

    来到第第二关 首先在后面添加一个 单引号看下报错信息 发现这里多多了一个引号  尝试去掉单引号看下回显结果   :    and 1=2 可以发现这里不需要添加单引号进行闭合,可以直接控制,所以接下来 ...

  4. Android之Handler消息处理机制

    Handler的作用 Handler消息机制在Android中的应用非常广泛,很多组件的底层实现都是靠Handler来完成的,所以掌握Handler消息机制的原理还是非常重要的.Handler的主要功 ...

  5. C语言版数据结构算法

    C语言版数据结构算法 C语言数据结构具体算法 https://pan.baidu.com/s/19oLoEVqV1I4UxW7D7SlwnQ C语言数据结构演示软件 https://pan.baidu ...

  6. VUE - 取消默认事件

    1,在 methods 中 <template>   <div>       <form @submit="addTodo">          ...

  7. [笔记]ul>li>a做分布时, 让其居中显示效果

    结构: <div id="page"> <ul> <li><a href="#">首页</a>< ...

  8. 19 包含min函数的栈

    题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数.   思路:一个栈存普通元素,一个最小栈存放目前位置最小的元素,只在压入的时候判断是否为空以及最小元素,其他情况正常处理 ...

  9. JAVA String类常用方法

    一.String类String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象.java把String类声明的final类,不能有类.String类对象创建 ...

  10. Tornadao Cookie

    cookie的详细介绍.Tronado带签名的cookie原理.基于cookie实现用户验证 cookie详细介绍 cookie本质就是存于浏览器的 键值对. 特性: 每次http请求服务端的时候,都 ...