项目地址:
GitHUb:https://github.com/China-Ma/happyfoal
Gitee:https://gitee.com/China-Ma/happyfoal

1. 创建项目

2. 根据自己的情况选定JDK版本

3. 选择默认依赖

4. 完成上面的操作生成项目的pom文件是这样的
pom文件

<?xml version="1.0" encoding="UTF-8"?>
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.5.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.chinama</groupId><artifactId>happyfoal</artifactId><version>0.0.1-SNAPSHOT</version><name>happyfoal</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.1.3</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope><exclusions><exclusion><groupId>org.junit.vintage</groupId><artifactId>junit-vintage-engine</artifactId></exclusion></exclusions></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

5. 我会习惯性的吧一些用不到的文件和文件夹删除,根据自己需求保留

6. 修改application.properties文件为application.yml

7. 在application.yml中配置服务端口,数据库配置,启动服务,启动成功
注:url中springboot为数据库,?后为编码和时区,一定要添加时区,不然后面会报错

application.yml

server:port: 8082spring:datasource:url: jdbc:mysql://localhost:3306/springboot?autoReconnect=true&useSSL=false&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghaidriver-class-name: com.mysql.cj.jdbc.Driverusername: rootpassword: 123456

9. 添加Mybatis自动生成插件,更新maven

Mybatis自动生成插件mybatis-generator
pom依赖

<plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.7</version><configuration><verbose>true</verbose><overwrite>true</overwrite></configuration><dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>${mysql.version}</version></dependency></dependencies></plugin>

9. 在resources下,添加Mybatis自动生成配置文件generatorConfig.xml,根据个人情况修改配置

配置文件generatorConfig.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"><generatorConfiguration><!--mysql 连接数据库jar 这里选择自己本地位置--><!--<classPathEntry location="D:/mysql-connector-java-5.1.20-bin.jar" />--><context id="testTables" targetRuntime="MyBatis3"><commentGenerator><!-- 是否去除自动生成的注释 true:是 : false:否 --><property name="suppressAllComments" value="true" /></commentGenerator><!--数据库连接的信息:驱动类、连接地址、用户名、密码 --><jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"connectionURL="jdbc:mysql://localhost:3306/springboot?serverTimezone=Asia/Shanghai" userId="root"password="123456"><property name="nullCatalogMeansCurrent" value="true" /></jdbcConnection><!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和NUMERIC 类型解析为java.math.BigDecimal --><javaTypeResolver><property name="forceBigDecimals" value="false" /></javaTypeResolver><!-- targetProject:生成PO类的位置 --><javaModelGenerator targetPackage="com.chinama.happyfoal.entity"targetProject="src/main/java"><!-- enableSubPackages:是否让schema作为包的后缀 --><property name="enableSubPackages" value="false" /><!-- 从数据库返回的值被清理前后的空格 --><property name="trimStrings" value="true" /></javaModelGenerator><!-- targetProject:mapper映射文件生成的位置如果maven工程只是单独的一个工程,targetProject="src/main/java"若果maven工程是分模块的工程,targetProject="所属模块的名称",例如:targetProject="ecps-manager-mapper",下同--><sqlMapGenerator targetPackage="com.chinama.happyfoal.mapper"targetProject="src/main/java"><!-- enableSubPackages:是否让schema作为包的后缀 --><property name="enableSubPackages" value="false" /></sqlMapGenerator><!-- targetPackage:mapper接口生成的位置 --><javaClientGenerator type="XMLMAPPER"targetPackage="com.chinama.happyfoal.mapper"targetProject="src/main/java"><!-- enableSubPackages:是否让schema作为包的后缀 --><property name="enableSubPackages" value="false" /></javaClientGenerator><!-- 指定数据库表 --><table tableName="user"></table></context>
</generatorConfiguration>

10. user的表

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user`  (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,`phone` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,`age` int(11) DEFAULT NULL,`gender` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,`lg_id` int(11) DEFAULT NULL,`createdate` datetime(0) DEFAULT NULL,`updatedate` datetime(0) DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_bin ROW_FORMAT = Dynamic;SET FOREIGN_KEY_CHECKS = 1;

11. 打开maven找到mybatis自动生成插件

12. 点击运行插件,自动生成mapper文件和实体类
ps:实体类中Example个人用的不熟练,User是最常用的实体类,Example用法自行百度

13. mapper接口添加mapper注解(看自己的注解使用习惯)

14. pom 中配置xml等配置文件扫描(可以使用其他方式配置扫描,如果不配置,xml文件无法生成在target文件夹中,运行显示xml缺失)

<resources><resource><directory>src/main/java</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>false</filtering></resource><resource><directory>src/main/resources</directory><includes><include>**/*.*</include></includes><filtering>false</filtering></resource></resources>

15. 添加Controller类,Service接口和实现类进行测试
UserController类

package com.chinama.happyfoal.controller;import com.chinama.happyfoal.entity.User;
import com.chinama.happyfoal.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;import java.util.Date;
import java.util.List;/*** @author China-Ma* @date*/
@RestController
public class UserController {@Autowiredprivate UserService userService;@RequestMapping(value = "/addUser", method = RequestMethod.POST)public String addUser(@RequestBody User user){user.setCreatedate(new Date());int i = userService.addUser(user);if (i == 0){return "角色新增失败";}return "新增成功";}@RequestMapping("/selectUsers")public List selectUsers(){List<User> users = userService.selectUsers();return users;}}

UserService接口

package com.chinama.happyfoal.service;import com.chinama.happyfoal.entity.User;import java.util.List;/*** @author China-Ma* @date*/
public interface UserService {/*** 角色新增* @param user* @return*/int addUser(User user);/*** 查询所有用户* @return*/List<User> selectUsers();
}

UserServiceImpl实现类

package com.chinama.happyfoal.service.impl;import com.chinama.happyfoal.entity.User;
import com.chinama.happyfoal.mapper.UserMapper;
import com.chinama.happyfoal.service.UserService;
import org.springframework.stereotype.Service;import javax.annotation.Resource;
import java.util.List;/*** @author China-Ma* @date*/
@Service
public class UserServiceImpl implements UserService {@Resourceprivate UserMapper userMapper;@Overridepublic int addUser(User user) {return userMapper.insert(user);}@Overridepublic List<User> selectUsers() {return userMapper.selectAll();}}

mapper接口添加查询方法

xml文件添加SQL语句

post请求测试
新增用户方法

查询用户方法

手把手教你搭建SpringBoot+MySQL+Mybatis项目(采坑日记)相关推荐

  1. 手把手教你搭建springboot程序

    spring-boot项目搭建 一.从官网搭建 1.进入spring官网,快速初始化一个项目 2.填写项目基本信息 3.项目结构分析 4.添加项目依赖 5.下载到本地 6.解压 7.idea,打开,使 ...

  2. 【Docker】手把手教你搭建好玩的docker项目合集

    这是我在使用docker后,慢慢一个个累计起来的项目,觉得还挺有意思的. 之后我会持续慢慢的更新新的项目,大伙如何有好玩的docker项目,欢迎来找我讨论哇,我每天都会看私信的 文章目录 docker ...

  3. SpringBoot集成Mybatis项目实操

    本文为<从零打造项目>系列第三篇文章,首发于个人网站. <从零打造项目>系列文章 比MyBatis Generator更强大的代码生成器 SpringBoot项目基础设施搭建 ...

  4. 手把手教你创建springBoot项目

    **# 手把手教你创建springBoot项目 千里之行 始于足下 简介 springboot是用来简化spring应用的初始搭建以及开发过程 使用特定的方式来进行配置(properties或yml文 ...

  5. 手把手教你搭建SpringCloud项目(十六)集成Stream消息驱动

    Spring Cloud全集文章目录: 零.什么是微服务?一看就会系列! 一.手把手教你搭建SpringCloud项目(一)图文详解,傻瓜式操作 二.手把手教你搭建SpringCloud项目(二)生产 ...

  6. 手把手教你搭建SpringCloud项目(十)集成Hystrix之服务降级

    Spring Cloud全集文章目录: 零.什么是微服务?一看就会系列! 一.手把手教你搭建SpringCloud项目(一)图文详解,傻瓜式操作 二.手把手教你搭建SpringCloud项目(二)生产 ...

  7. 手把手教你搭建SpringCloud项目(九)集成OpenFeign服务接口调用

    Spring Cloud全集文章目录: 零.什么是微服务?一看就会系列! 一.手把手教你搭建SpringCloud项目(一)图文详解,傻瓜式操作 二.手把手教你搭建SpringCloud项目(二)生产 ...

  8. 手把手教你搭建SpringCloudAlibaba之Nacos服务配置中心

    SpringCloud Alibaba全集文章目录: 零.手把手教你搭建SpringCloudAlibaba项目 一.手把手教你搭建SpringCloud Alibaba之生产者与消费者 二.手把手教 ...

  9. 手把手教你搭建SSM框架(Eclipse版)

    作者: C you again,从事软件开发 努力在IT搬砖路上的技术小白 公众号: [C you again],分享计算机类毕业设计源码.IT技术文章.游戏源码.网页模板.程序人生等等.公众号回复 ...

最新文章

  1. python全栈开发笔记---------函数
  2. python课程与c+课程有什么不同-C和Python我该先学什么?
  3. python requests的安装与简单运用
  4. Navicat——MySQL之delimiter默认设置问题
  5. 前端学习(2377):项目初始化过程
  6. vue中使用better-scroll实现滑动
  7. (计算机组成原理题目题型总结)第一章:计算机系统概述
  8. 香港计算机mphil申请成功案例,香港稀有CS MPhil录取:申请也有起死回生的惊喜...
  9. Mybatis resultMap空值映射问题解决
  10. Filter的基本配置
  11. oracle浅析导致数据库性能问题的常见原因
  12. 哇撒!这几个SpringBoot前后端分离项目(附源码),star过千,快去收藏夹吃灰吧。。。...
  13. sqlserver tvps java_中毒了,请高手看一下诊断报告。
  14. bitbake 编译错误集
  15. 微星ZH77A-G43老主板加持SSD 成功!
  16. error CS0246: 未能找到类型或命名空间名“A”(是否缺少 using 指令或程序集引用?)
  17. sqoop 导出hive数据到MySQL数据库当中
  18. excel多条件计数python_Excel统计满足条件的不重复值个数的8种方法,第三种方法最适合新手!我真的入门了!...
  19. 程序人生——苏嵌第三天
  20. SSM全注解开发的网上商城系统

热门文章

  1. 数论数学:欧拉恒等式的证明
  2. (转发)一个硕士生是如何发表5篇sci的
  3. 关于FIN_WAIT1---TCP四次挥手的状态
  4. MySQL存储引擎 lnnoDB逻辑架构 innodb存储引擎表空间(ibd文件)详解 回滚日志的物理空间
  5. 802.11 帧(MAC架构)
  6. SAP ABAP强制触发PAI事件执行一次PBO
  7. CDR2023软件最新版有哪些新增功能?
  8. c语言专业教学,C语言在计算机专业中的教学.docx
  9. 解析雅虎与百度流氓原理-IE劫持
  10. 论文阅读5 | Recent Advances in Data-Driven Wireless Communication Using Gaussian Processes: A Comprehens