从零构建后端项目-创建SpringBoot项目配置MyBatis

news2024/11/17 7:25:28

目录

主体介绍

创建SpringBoot项目主要步骤

配置MyBatis

整合高级功能

创建SpringBoot项目

配置Tomcat

配置MySQL数据源

配置Redis数据源

配置MongoDB数据源

运行项目,检测配置

配置MyBatis

创建IDEA数据库连接

生成MyBatis各种文件

配置MyBatis 

配置日志输出


主体介绍

        利用开发环境,把SpringBoot项目搭建出来,往里整合各种第三方技术。

创建SpringBoot项目主要步骤

        ·利用IDEA的Spring Initializr可以图形化创建项目

        ·填写好Maven项目信息

        ·勾选若干依赖库

SpringBoot DevTool、Lombok、Spring Web、MySQL Driver、MyBatis Framework、Spring Data Redis、Spring Data MongoDB、Spring For RabbitMQ、Java Mail Sender、QuartZ Scheduler

        ·配置SpringBoot项目:配置Tomcat、配置MySQL、配置Redis、配置MongoDB

配置MyBatis

        ·创建数据库连接

        ·选中数据表,生成MyBatis文件

        ·修改yml文件,添加MyBatis配置信息

        ·设置日志输出

整合高级功能

        ·自定义异常

        ·封装R对象

        ·Swagger

        ·添加后端验证

        ·抵御XSS攻击

        ·Shiro 和 JWT

        ·精简返回给客户端的异常

创建SpringBoot项目

        ·创建项目的时候选择 Spring Initializr 

        ·填写好项目信息(可能因版本原因,布局略有不同)

         ·在依赖库界面,勾选如下内容 

序号依赖库作用
1SpringBoot DevTool热部署插件
2Lombok生成SET/GET方法
3Spring WebSpringMVC框架
4MySQL DriverMySQL数据库驱动
5MyBatis FrameworkMyBatis持久层框架
6Spring Data Redis操作Redis技术
7Spring Data MongoDB操作MongoDB技术
8Spring For RabbitMQRabbitMQ驱动
9Java Mail Sender邮件发送技术
10QuartZ Scheduler定时器技术

        ·填写项目名称 

        ·把 application.properties 文件修改成 application.yml

配置Tomcat

server:
  tomcat:
    uri-encoding: UTF-8
    threads:
      max: 200
      min-spare: 30
    connection-timeout: 5000ms
  port: 8080
  servlet:
    context-path: /emos-wx-api

配置MySQL数据源

spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
      driver-class-name: com.mysql.cj.jdbc.Driver
      url: jdbc:mysql://localhost:3306/emos?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
      username: root
      password: abc123456
      initial-size: 8
      max-active: 16
      min-idle: 8
      max-wait: 60000
      test-while-idle: true
      test-on-borrow: false
      test-on-return: false

        因为使用了阿里巴巴吧的Druid连接池,所以要在pom.xml文件中添加依赖,然后让Maven执行 reload,依赖库就下载好了。 

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.13</version>
        </dependency>

配置Redis数据源

spring:
  #这里省略MySQL配置信息
  redis:
    database: 0
    host: localhost
    port: 6379
    password: abc123456
    jedis:
      pool:
        max-active: 1000
        max-wait: -1ms
        max-idle: 16
        min-idle: 8

配置MongoDB数据源

spring:
  #这里省略MySQL配置信息
  #这里省略Redis配置信息
  data:
    mongodb:
      host: localhost
      port: 27017
      database: emos
      authentication-database: admin
      username: admin
      password: abc123456

运行项目,检测配置

        找到EmosWxApiApplication类,运行主方法,启动SpringBoot项目,然后观察控制台的输出,如 果没有异常消息,说明以上的这些配置完全正确。如果出现了异常信息,需要你检查数据库是否 都启动了,而且依赖库是否加载了,最后还要核对一下yml文件中的配置信息。

配置MyBatis

创建IDEA数据库连接

        因为在上一章我们已经给IDEA安装了FreeMyBatisTool插件,所以我们可以利用插件的图形化界面,生成 MyBatis用到的配置文件、映射类和DAO接口。使用MyBatis插件之前,首先我们要在IDEA上面 创建数据库连接,步骤如下:

        ·选择创建MySQL数据库连接

        ·填写数据库连接信息

URL:jdbc:mysql://localhost:3306/emos?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai

        ·没有驱动时会提示下载驱动。官网下载驱动慢的话,可以用本地MySQL驱动。

生成MyBatis各种文件

        ·创建 com.example.emos.wx.db.pojo 和 com.example.emos.wx.db.dao 包

        ·选中这些数据表,然后点击右键,选择mybatis-generator

        ·在面板中填写如下信息 

        ·每个Dao接口上都要添加 @Mapper 注解 ,注册给Spring框架

配置MyBatis 

mybatis:
  mapper-locations: classpath*:mapper/*.xml
  type-aliases-package: com.example.emos.wx.db.pojo
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    map-underscore-to-camel-case: true

// log-impl 控制台打印SQL语句。

配置日志输出

logging:
  level:
    root: info
    com.example.emos.wx.db.dao : warn
  pattern:
    console: "%d{HH:mm:ss} %-5level %msg%n"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/655086.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

总结902

目标规划&#xff1a; 月目标&#xff1a;6月&#xff08;线性代数强化9讲&#xff0c;考研核心词过三遍&#xff09; 周目标&#xff1a;线性代数强化5讲&#xff0c;英语背3篇文章并回诵&#xff0c;检测 每日规划 今日已做 1.背诵前21篇短文&#xff0c;默写了10篇文章。…

智能视频无损放大-Topaz Video AI

今天给各位小伙伴们测试了一款可以使视频智能无损放大的软件——Topaz Video AI。 小编在很早之前也有了解过Topaz系列的软件&#xff0c;都是通过人工智能处理的&#xff0c;对小白新手们很适用&#xff0c;由于使用人工智能方面的软件或程序对硬件要求都比较高&#xff0c;因…

离散数学题目收集整理练习(期末过关进度70%)

✨博主&#xff1a;命运之光 &#x1f984;专栏&#xff1a;离散数学考前复习&#xff08;知识点题&#xff09; &#x1f353;专栏&#xff1a;概率论期末速成&#xff08;一套卷&#xff09; &#x1f433;专栏&#xff1a;数字电路考前复习 &#x1f31f;博主的其他文章&…

Linux运维监控学习笔记2

Zabbix监控本机&#xff1a; 配置->主机->将Zabbix Server的状态开启。 然后我们还需要在这台机器上安装agent。agent安装在被监控端&#xff0c;收集数据&#xff0c;与监控服务器交互。 # 列出系统上面所有软件名称 rpm -qa |grep zabbix-agent zabbix-agent-3.4.15-…

hello算法笔记之栈与队列

一、栈 遵循先入后出&#xff08;First In, Last Out&#xff09;原则的线性数据结构。 只能在栈顶添加或删除元素 链表实现形式&#xff1a; ①栈以链表形式实现&#xff1a; ②以数组形式实现 二、队列 遵循先入先出&#xff08;First In, First Out&#xff09;规则的线…

使用WinDbg分析Windows dump文件方法

需要使用WinDbg工具来分析windows系统产生的dump文件&#xff0c;此工具属于Windows SDK的一个组件&#xff0c;在微软官方网站可以下载&#xff08;链接&#xff09;。 在安装Windows SDK的过程中&#xff0c;可以选择只安装WinDbg&#xff08;Debugging Tools for Windows&a…

数据结构——图

文章目录 **一 图的基本概念****1 定义** **二 图的存储及基本操作****1 邻接矩阵法****2 邻接表法****3 十字链表****4 邻接多重表****5 图的基本操作** **三 图的遍历****1 广度优先搜索BFS****2 深度优先搜索DFS****3 图的遍历与连通性** **四 图的应用****1 最小生成树****…

源码编译安装LAMP

文章目录 一.Apache1.什么是apache2.apache的主要特点3.apache的软件版本4.编译安装优点 二.LAMP简介与概述1.LAMP平台概述2.构建LAMP平台顺序3.各组件的主要作用 三.LAMPDISCUZ论坛搭建1.部署Apache1.1 下载apache相关安装包放入服务器中1.2 解压apache的安装进行安装1.3 编译…

SF授权系统源码 V3.7全开源无加密版本

&#x1f389; 有需要的朋友记得关赞评&#xff0c;文章底部来交流&#xff01;&#xff01;&#xff01; &#x1f389; ✨ 源码介绍 2023全新SF授权系统源码 V3.7全开源无加密版本。网站搭建很简单&#xff0c;大致看来一下应该域名解析后上传源码解压&#xff0c;访问域名/i…

如何构建LAMP平台:Apache,MySQL,PHP

如何构建LAMP平台&#xff1a;Apache&#xff0c;MySQL&#xff0c;PHP 一、Apache网站服务&#xff1a;1. Apache的起源&#xff08;多系统兼容&#xff09;&#xff1a;2.重要特点&#xff1a;3.软件版本&#xff1a;4.编译安装呢http服务器&#xff1a; 二、LAMP简介与概述&…

家中群晖NAS遇到断电如何自动关机

群晖NAS遇到断电时如何自动关机 前置条件实现功能的想法具体实施的步骤开启群晖Linux的SSH登陆安装Putty或是Xshell远程登陆上群晖创建计划任务 前置条件 需要一台UPS&#xff08;品牌功能不限&#xff0c;只需续航5分钟以上就可以&#xff09; 实现功能的想法 通过监控网卡…

【备战秋招】每日一题:4月8日美团春招第二题:题面+题目思路 + C++/python/js/Go/java带注释

为了更好的阅读体检&#xff0c;为了更好的阅读体检&#xff0c;&#xff0c;可以查看我的算法学习博客第二题-必经之路 在线评测链接:P1167 题目内容 塔子哥的班主任最近组织了一次户外拓展活动&#xff0c;让班里的同学们一起去爬山。在路上&#xff0c;塔子哥看到了一棵漂…

Windows7 环境下的 Python 版本如何选取?

背景 我需要在不连接互联网的 Windows7 办公电脑上为网页版的办公系统开发一个自动化工具&#xff0c;可以将日常琐碎的操作替代掉。 基本确定了通过 PythonSelenium 的方式来实现网页自动化功能。 首先我需要配置开发环境&#xff0c;安装 Python、VS Code、导入Selenium库、…

提高 React 性能的技巧

1.解决重复渲染问题 我们大多数人都知道虚拟 DOM 是如何工作的&#xff0c;但最重要的是检测何时触发树比较。当我们可以跟踪它时&#xff0c;我们可以控制组件的重新渲染&#xff0c;并最终防止意外的性能流。令人惊讶的是&#xff0c;它并不难捕捉。首先&#xff0c;将 Reac…

uniapp APP端在线升级功能实现讲解——强制或可选升级,下载进度显示

文章目录 概要 需求分析 技术实现梳理 1.是否更新判断&#xff1a; 2.升级弹窗的展示 3.根据升级类型限制操作 4.下载APP监听下载进度 5.下载完自动安装 核心API讲解 1.plus.downloader.createDownload(url,options,completedCallback)&#xff08;下载&#xff09; 2.plus.r…

使用SOCKET搭建linux和window实现实时摄像头传输(linux传输win端使用C++mfc显示)--Win端开发

1.使用MFC搭建框架 配置: Window10VS2013opencv249 如果VS和opencv配置不一样&#xff0c;让版本对应 Opencv与VS版本 1.1 MFC项目搭建 通过这些步骤就创建了一个MFC基础项目。 1.2项目属性配置 本项目因为要使用opencv,所以就要配置以下opencv的环境 首先在opencv官网下载…

手机连接adb 相关问题汇总

目录 关于端口占用问题1 关于修改adb 端口配置问题2 方法3 方法4 关于端口占用问题1 转载链接&#xff1a;https://www.jianshu.com/p/902a89b06271 报错信息&#xff1a; error: no device/emulators found error: device still connecting 解决方案&#xff1a; 重启…

Day_50小结

目录 一. 比较和分析各种查找算法 二. 描述各种排序算法的特点和基本思想&#xff06;比较分析各种排序算法 1. 插入排序 2. 交换排序 3. 选择排序 4. 外部排序 三. 设计一个自己的 Hash 函数和一个冲突解决机制 1. 对于哈希函数的构造&#xff1a; 2. 处理冲突的办法&#…

Mybatis持久层框架 | Lombok搭建

&#x1f497;wei_shuo的个人主页 &#x1f4ab;wei_shuo的学习社区 &#x1f310;Hello World &#xff01; Lombok Lombok项目是一个java库&#xff0c;它可以自动插入到编辑器和构建工具中&#xff0c;增强java的性能。不需要再写getter、setter或equals方法&#xff0c;只要…

易语言使用node编译的js文件

环境配置 npm install -g cnpm babel-preset-env babel-cli babel-polyfill browserifynpm install -g crypto-js nodejs转js 例如加密模块 browserify -r babel-polyfill -r crypto-js -o es6.txt browserify file.js -o es6.txt易语言 使用v8 推荐 直接生成导入js即…