springboot整合mybatis与thymeleaf
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的更多相关文章
- JavaEE开发之SpringBoot整合MyBatis以及Thymeleaf模板引擎
上篇博客我们聊了<JavaEE开发之SpringBoot工程的创建.运行与配置>,从上篇博客的内容我们不难看出SpringBoot的便捷.本篇博客我们继续在上篇博客的基础上来看一下Spri ...
- SpringBoot整合MyBatis及Thymeleaf
http://www.cnblogs.com/ludashi/archive/2017/05/08/6669133.html 上篇博客我们聊了<JavaEE开发之SpringBoot工程的创建. ...
- SpringBoot整合Jsp和Thymeleaf (附工程)
前言 本篇文章主要讲述SpringBoot整合Jsp以及SpringBoot整合Thymeleaf,实现一个简单的用户增删改查示例工程.事先说明,有三个项目,两个是单独整合的,一个是将它们整合在一起的 ...
- springBoot整合mybatis、jsp 或 HTML
springBoot整合mybatis.jsp Spring Boot的主要优点: 1: 为所有Spring开发者更快的入门: 2: 开箱即用,提供各种默认配置来简化项目配置: 3: 内嵌式容器 ...
- SpringBoot整合Mybatis完整详细版二:注册、登录、拦截器配置
接着上个章节来,上章节搭建好框架,并且测试也在页面取到数据.接下来实现web端,实现前后端交互,在前台进行注册登录以及后端拦截器配置.实现简单的未登录拦截跳转到登录页面 上一节传送门:SpringBo ...
- SpringBoot整合Mybatis完整详细版
记得刚接触SpringBoot时,大吃一惊,世界上居然还有这么省事的框架,立马感叹:SpringBoot是世界上最好的框架.哈哈! 当初跟着教程练习搭建了一个框架,传送门:spring boot + ...
- SpringBoot整合mybatis、shiro、redis实现基于数据库的细粒度动态权限管理系统实例
1.前言 本文主要介绍使用SpringBoot与shiro实现基于数据库的细粒度动态权限管理系统实例. 使用技术:SpringBoot.mybatis.shiro.thymeleaf.pagehelp ...
- springboot整合mybatis(SSM开发环境搭建)
0.项目结构: ---------------------方法一:使用mybatis官方提供的Spring Boot整合包实现--------------------- 1.application.p ...
- 三、SpringBoot 整合mybatis 多数据源以及分库分表
前言 说实话,这章本来不打算讲的,因为配置多数据源的网上有很多类似的教程.但是最近因为项目要用到分库分表,所以让我研究一下看怎么实现.我想着上一篇博客讲了多环境的配置,不同的环境调用不同的数据库,那接 ...
随机推荐
- netcore webCache缓存
NetCoreCacheService.dll public IActionResult Index() { //存入字符串 MemoryCacheService.SetChacheValue(&qu ...
- spark on yarn container分配极端倾斜
环境:CDH5.13.3 spark2.3 在提交任务之后,发现executor运行少量几台nodemanager,而其他nodemanager没有executor分配. 测试环境通过spark-s ...
- js 中 一些重要的数组方法
今天在学Vue的时候,看到了好多JS的数组方法,但是我不知道,我以为是Vue的方法,结果找了半天资料也没找出来,最后才发现这是JS的数组对象方法,于是就想做一下笔记,加深一下印象. Array 对象方 ...
- PE文件中找导出表
导出表: typedef struct _IMAGE_EXPORT_DIRECTORY { DWORD Characteristics; // 未使用,总为0 DWORD TimeDateStamp; ...
- Program-Language
1. 主流编程语言 2. 编程语言分类 2.1 编译or解释 2.2 按照客观系统的描述可分为两类 2.3 按照编程范型可分为 3. 语言范式 Paradigm 4. 计算机语 ...
- 033、Java中使用简化运算符
01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...
- 002、创建第一个Java程序HelloWord
代码如下: package TIANPAN; public class TestDemo { public static void main(String args[]) { System.out.p ...
- 安卓fragment transaction add方法报错
这个问题百度了很多能用的很少! 原来看的B站的视频教程比较老了参数不匹配!我记一下安卓studio3.1的方法 切换fragment 前都先要 FragmentManager manager=getS ...
- DevOps - 与敏捷方法区别
章节 DevOps – 为什么 DevOps – 与传统方式区别 DevOps – 优势 DevOps – 不适用 DevOps – 生命周期 DevOps – 与敏捷方法区别 DevOps – 实施 ...
- unity基础开发----Unity获取PC,Ios系统的mac地址等信息
在软件开发中可以会用到mac地址作为,设备的唯一标示,我们也可以通过unity获取,经测试pc,ios都可以但是安卓没有获取到. 代码如下: using UnityEngine; using Syst ...