springboot项目搭建(mybatis + thymeleaf)
先整一mysql数据库,数据库testdb中表user包含id和name,用户名和密码都是root
eclipse创建个quickstart项目就行:
最终项目目录结构如图:
POM
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.jyl</groupId>
<artifactId>jyl</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>jyl</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.1.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.2.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/libs-snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
</project>
application.properties
server.port=8080
spring.datasource.url=jdbc:mysql://localhost:3306/testdb?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
mybatis.typeAliasesPackage=com.jyl.jyl.domain
mybatis.mapperLocations=classpath:mapper/*.xml
入口函数
App.java类(这里@MapperScan已经写了mybatis的Mapper扫描包地址):
package com.jyl.jyl;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@MapperScan("com.jyl.jyl.dao")
public class App
{
public static void main( String[] args )
{
SpringApplication.run(App.class, args);
}
}
有了入口函数,springboot项目就可以运行起来了,然后我们就开始写controller
controller
package com.jyl.jyl.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import com.jyl.jyl.service.MyService;
@Controller
public class pageController {
@Autowired
private MyService ser;
@RequestMapping("/")
public String index(ModelMap map) {
map.addAttribute("abc", ser.fun(0).getName());
return "index";
}
}
这样我们访问127.0.0.1:8080就可以进入index函数,该函数返回的是index.html页面。此处用的是thymeleaf,我们通过service连接到mybatis查询到数据,写入属性abc,界面中取出该值。
service
package com.jyl.jyl.service;
import com.jyl.jyl.domain.User;
public interface MyService {
public User fun(int id);
}
serviceImpl
package com.jyl.jyl.service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.jyl.jyl.dao.userMapper;
import com.jyl.jyl.domain.User;
@Service
public class MyserviceImp implements MyService{
@Autowired
private userMapper UserMapper;
public User fun(int id) {
User user = null;
try {
user = UserMapper.fun(id);
}catch(Exception e)
{
}
return user;
}
}
mybatis
package com.jyl.jyl.dao;
import org.apache.ibatis.annotations.Param;
import com.jyl.jyl.domain.User;
public interface userMapper {
public User fun(@Param("id")int id) throws Exception;
}
对应xml为:
<?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.jyl.jyl.dao.userMapper">
<select id="fun" parameterType="int"
resultType="com.jyl.jyl.domain.User">
select name from user where id=#{id}
</select>
</mapper>
index.html
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8" />
<title></title>
</head>
<body>
<h1 th:text="${abc}">*****</h1>
<img src="img/1.jpg"></img>
</body>
</html>
源码可以在这里拿:https://download.csdn.net/download/jiyanglin/11066227
springboot项目搭建(mybatis + thymeleaf)相关推荐
- Springboot项目搭建(前端到数据库,超详细,附详细步骤截图)
下面详细谈谈我的第一个springboot项目搭建,希望会给还在摸索的同学一点帮助. 有兴趣的同学请加qq:1718283122 备注csdn ---------------------------- ...
- springboot项目搭建0000-导航篇
前言:这篇帖子没有任何涉及技术的内容,如果你想找springboot相关的技术知识,可以不用往下看了. 这篇帖子仅仅是对我的springboot相关博客,开辟一个导航页,方便读者.技术大牛略过 主要参 ...
- springboot项目中mybatis实现数据的基本查询
SpringBoot项目中mybatis实现数据的基本查询 本章内容概述: mapper 查询 xml 文件基本使用 通过 mybatis 实现一条数据的查询 1 用户数据表 2 用户信息对应的实体类 ...
- springboot项目整合mybatis
SpringBoot项目整合mybatis 本章内容 使用 idea创建 SpringBoot项目 SpringBoot项目中配制 mybatis 框架 1 创建 SpringBoot项目 1.1 在 ...
- java spring 数据库_JAVA - SpringBoot项目引用MyBatis操作数据库
JAVA - SpringBoot项目引用MyBatis操作数据库 添加POM依赖: org.mybatis.spring.boot mybatis-spring-boot-starter 2.1.1 ...
- SpringBoot——项目搭建、整合Mybatis、整合redis(集群)
一.项目搭建 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&q ...
- 物联网云平台设计与开发:springboot项目搭建与开发(后端)
目录 实验目的 实验内容 具体实验步骤 第一步:构建springboot项目 第二步:项目集成spring-web.Mysql驱动.Mybatis等框架. 第三步:安装Mysql软件,使用Navica ...
- springboot项目搭建
一 Springboot 基本概念 1.1 什么是 springboot Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框 ...
- SpringBoot项目集成Mybatis Plus(一)多数据源配置
随着微服务使用越来越广泛,功能越做越大,需要支持的数据源也会越来越多,这时就可以在项目中集成Mybatis Plus,支持多数据源.Mybatis Plus在 Mybatis基础上进行了功能扩充,非常 ...
- springboot项目与mybatis的整合(使用mybatis小鸟插件)
1:首先安装mybatis小鸟插件: 因为我这边已经安装过,所以显示installed,没安装显示install,点击install安装即可. 2:在主包下面建立如下几个包,可以为空 3:下载myba ...
最新文章
- 2019 浙江大学 计算机 科目,2019考研大纲:浙江大学2019年《计算机学科专业基础综合》(单考)(科目代码907)...
- 浅谈HTTP中Get与Post的区别
- 基于Guava实现的文件复制
- simulink仿真实例_MATLAB机器人运动学仿真入门
- WPF ListView DoubleClick
- Andriod anim alpha中的属性介绍
- MySql基础入门-mysql体系结构
- 剑指offer07.重建二叉树
- 一图读懂Java架构
- java-01 JAVA三大版本比较JDK、JRE、JVM 的关系
- 第三次学JAVA再学不好就吃翔(part5)--基础语法之数据类型转换
- 数学--数论--(逆元)扩展欧几里求解+证明
- java重置输出窗口_java – 如何重置默认启动器/主屏幕替换?
- Netty解决TCP的粘包和分包(二)
- Android Vendor Test Suite (VTS) 作用及测试方法
- ES6 里面的 Promise
- php李炎恢第二季视频_李炎恢PHP视频教程第二季资源推荐
- struts2与常用表格ajax操作的json传值问题
- Linux之open虚拟专业网安装部署
- 抽奖活动啦!5本SpringMVC+MyBatis相关、3本Android Studio相关、6本Kafka相关
热门文章
- 报表制作1(传入对象和其他参数)
- Java中BufferedReader和scanner的对比
- 战略、业务流程和知识管理
- AS3程序性能优化建议
- acrobat professional的安装版本
- OpenLayers学习入门篇
- java零基础对象和类_【JAVA零基础入门系列】Day11 Java中的类和对象
- vue 组件 not defined_Vue、Spring Boot开发小而完整的Web前后端分离项目实战10
- ThinkPhp报错:thinkphp\library\think\Template.php Line(1243) template not exists:...test\...\index.html
- Windows版JMeter下载安装