mybatis mysql demo_SpringBoot(入门Demo,整合mybatis,连接mysql)

1.简介

SpringBoot提供一种固定的、约定优于配置风格的框架,使开发者更快地创建基于spring的应用和程序。可以高效的创建基于Spring的应用服务(SpringBoot不是对spring功能的增强,而是可以更快速使用spring)。为微服务spring cloud铺路,可整合其他框架。

SpringBoot的部分模块(通过pom.xml引入):

spring-boot-starter: Spring Boot的核心启动器,包含了自动配置支持、日志和YAML。

spring-boot-starter-test:测试模块,包括JUnit、Hamcrest、Mockito

spring-boot-starter-jdbc: 支持JDBC数据库。

spring-boot-starter-thymeleaf: 支持Thymeleaf模板引擎,包括与Spring的集成。

spring-boot-starter-web: 支持全栈式开发,包括Tomcat和Spring-WebMVC。

mybatis-spring-boot-starter: 整合spring-mybatis依赖。

2.Demo说明

本文的demo是搭建好的项目,放到代码仓库中,对项目有简单的说明,方便开发者快速使用。没有太多的技术底层讲解,主要讲解的是开发使用。

3.Demo使用运行前提

项目运行需要有环境基础,本文以mac电脑为例。下表对环境进行说明,并提供搭建参考博文。

4.Demo代码获取

下载地址如下:

5.Demo项目导入及结构简单介绍

项目导入:

本文使用idea为例,点击导入,选择下载好的项目。

9b4b0ebab31847b09924d69e50af4420.pngwAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==​           b14d6eced93dd513ce6b11d679ffe557.pngwAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

选择项目打开后,构建工具使用的是maven(上文表格中有maven安装配置教程),然后按步骤点击Next,其中有一个步骤需要选择jdk(上文表格中有jdk安装配置教程)。

2a8be0dd850d682c99b2c1c7b5f6c5fb.pngwAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==​           d9df4fa8156a7b7ec148545c1e06a6ea.pngwAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

最后一步可以修改demo项目的名称,点击Finish,项目导入成功,第一次导入后会下载项目的依赖,比较慢。

69b01db91d2a9fcb4dd77726bceb5588.pngwAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

项目说明:

配置文件说明:说明如下图,其中tcy为数据库名称(与自己创建的数据库名称要一致)

6ce8d3786ab1a93b280e90c980c3389d.pngwAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

项目启动类说明:项目启动运行入口为下图中的类的main方法,运行该方法就可以启动项目,然后就可以调用接口访问了,类中的注解标签为启动项目后各个组件加载的路径(启动后根据注解标签创建组件实例,放到容器中,统一管理,供项目使用)。

734292f4b452b3ac678707313842e9d4.pngwAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

项目数据库表及数据:项目中db.sql文件为demo的数据库文件,需要把数据库的表和数据导入到自己的mysql中。这样项目启动后调用接口就可以增删改查数据了。(该文件中只有表和数据,没有数据库,需要自己创建数据库,记得调整配置文件中的数据库名称与你的数据库名称一致)

eaf195924e7e344065cf9a45f465f995.pngwAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

接口控制器:调用接口时根据接口路径,找到指定的控制器类,然后再找到指定的接口方法,然后执行接口方法的业务,达到想要的目的。(例:图中想要执行testSplitTable方法的访问路径为 /test/testSplitTable)

acd292edcccc1b1d18543123cf1f9386.pngwAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

业务模块:该模块主要放置的是接口的业务逻辑和连接操作数据库的方法,统一都放置到这个模块中有个好处是,可以保证一致性,当一个业务中的其中一步不能正常执行时,可以在这个位置对数据统一进行回滚处理,方便一致性的控制。

683b2c5d60b430f66c574e733159fbfe.pngwAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

数据操作模块:这个模块可以操作数据库,xml中编写sql语句,java文件中放置方法供service使用。

29dc5a764c41a5d7942f502b5b17d8ee.pngwAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==​     be3bd853c5bbfd993879918f1d7ebfe6.pngwAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

6.项目启动调用效果

运行DemoApplication中的main方法,启动成功后就可以调用接口。启动后效果如下。

58039b1d4eb125dcedb9f0ffde1f3700.pngwAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

调用接口测试效果如下:

37ab33b39dc956232141837c5a6722c4.pngwAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

希望本文对你有帮助,欢迎留言交流。

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

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

相关文章

css table嵌套内部table不受外部影响_HTML+CSS网页一揽子(4)

CSS重要属性之浮动基本属性:float:left;左浮动float:right;右浮动float:none;不浮动(一般应用于覆盖既有浮动属性时使用)clear:both;清除浮动对其他元素带来的影响应用场景:(1)网站大的结构布局&#xff1a…

mysql ticks_【原创】C# 计时周期数(Ticks)在不同数据库上的实现

动手之前,先来看看 Ticks 在微软官方文档上的定义:注解一个计时周期表示一百纳秒,即一千万分之一秒。1 毫秒内有 10,000 个计时周期,即 1 秒内有 1,000万个计时周期。此属性的值表示自0001年1月1日午夜12:00:00 0:00:00 (公历日期…

在Spring Boot测试中使用Testcontainer进行数据库集成测试

在此博客文章中,我想演示如何在Spring Boot测试中集成Testcontainer以便与数据库一起运行集成测试。 我没有使用Testcontainers的Spring Boot模块。 如何与他们合作,我将在另一篇博客文章中进行介绍。 所有示例都可以在GitHub上找到 。 为什么要使用测试…

java8串行和并行的区别_垃圾收集器–串行,并行,CMS,G1(以及Java 8中的新增功能)...

java8串行和并行的区别4个Java垃圾收集器–错误的选择如何严重影响性能 在2014年,对于大多数开发人员来说,还有两件事仍然是个谜:垃圾收集和了解异性。 由于我对后者知之甚少,所以我认为我会对前者大吃一惊,尤其是因为…

python函数参数学习_python学习笔记-11.函数参数和返回值进阶

1. 函数参数和返回值的作用函数根据有没有参数以及有没有返回值,可以相互组合,共有4种形式:无参数,无返回值无参数,有返回值有参数,无返回值有参数,有返回值定义函数时,是否接收参数…

python邮件发送哪个好_python发邮件(一)

复习模块如果我们要发送邮件,就需要用到smtplib模块的以下方法:1、import smtplib #引入smtplib模块2、server smtplib.SMTP() #server为变量,通过SMTP指定一个服务器,这样才能把邮件送到另一个服务器,SMTP…

python逻辑运算符的使用_总结Python中逻辑运算符的使用

下表列出了所有python语言支持的逻辑运算符。假设变量a持有10和变量b持有20,则:示例:试试下面的例子就明白了所有的python编程语言提供了逻辑运算符:#!/usr/bin/pythona 10b 20c 0if ( a and b ):print "line 1 - a and b are true&q…

如何使用用户数据脚本在EC2实例上安装Apache Web Server

你好朋友, 在本教程中,我们将看到如何使用用户数据脚本在EC2实例上安装Apache Web Server。 在我以前的教程之一中,我已经解释了如何使用AWS控制台启动EC2实例。如果您还没有完成该操作,我建议您先进行一下操作。 首先&#xf…

spring 多租户_使用Spring Security的多租户应用程序的无状态会话

spring 多租户从前, 我发表了一篇文章,解释了构建无状态会话的原理 。 巧合的是,我们再次为多租户应用程序执行同一任务。 这次,我们将解决方案集成到Spring Security框架中,而不是自己构建身份验证机制。 本文将解释…

java api 1.6 下载_Java JDK API

JDKJavaDevelopmentKit是SunMicrosystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的JavaSDK。JDK是整个Java的核心,包括了Java运行环境。相关软件软件大小版本说明下载地址jdk(Java Development Kit)是Sun Microsystems针对java开…

Java / Cloud:如何快速创建支持Kubernetes的REST微服务

可以肯定地说,如今微服务与云的结合风靡一时。 微服务的开发比以往任何时候都多,从而导致应用程序部署数量增加。 在过去的十年中,开发了诸如Docker和Kubernetes之类的容器化和编排工具,从而使微服务模式真正易于采用。 本文将教…

使用Spring Boot和Project Reactor处理SQS消息-第2部分

这是我关于使用Spring Boot和Project Reactor有效处理SQS消息的博客文章的后续文章 我在第一部分中列出了一些方法上的差距。 1.处理SQS客户端调用中的失败 2.该方法一次只能处理来自SQS的一条消息,如何并行化 3.它不处理错误,管道中的任何错误都会中…

java爬虫jsoup_Java爬虫之利用Jsoup自制简单的搜索引擎

内容导读在上述代码中,url为输入词条(暂时仅限于英文),进入while循环可一直搜索,当输入为’exit’时退出。contentText为该词条的百度百科简介的网页形式,通过正则表达式将其中的文字提取出来。代码虽然简洁,但是功能还…

matplotlib的默认字体_浅谈matplotlib默认字体设置探索

控制默认字体的设置根据官方文档https://matplotlib.org/tutorials/text/text_props.html#default-font可知:The base default font is controlled by a set of rcParams默认字体是由一组rcParams控制的。rcParamusage‘font.family"List of either names of f…

java空心菱形_java 空心菱形

分为两部分,先打印前四行,再打印后三行,int n 4;    //设初始值为4for(int i0;ifor(int j0;jSystem.out.print(" ");}for(int k0;kif(k0||k2*i) {    //打印前四行的*,中间部分输出空格System.out.print(&quo…

java接口版本控制_为什么要在Java中控制类和接口的可见性

java接口版本控制维护是软件开发的重要方面之一,并且经验证明,保持较低组件可视性的软件比暴露更多组件的软件更易于维护。 您不会在一开始就意识到它,但是在重新设计应用程序时会严重错过它。 由于保持向后兼容性是许多应用程序的“必须具备…

遮掩java_css之图片下方定位遮掩层

需要的效果如图,图片下方加个遮掩层:html:css:.listContent>div{width:300px;height: 300px;float: left;margin-top: 20px;margin-left: 20px;position:relative;}.mask{width:300px;height: 40px;background-color:#FFCCCC;p…

使用JDK的密码流的加密怪癖(以及如何做)

在我们的日常工作中,我们经常遇到经常性的主题,即将数据(例如文件)从一个位置传输到另一个位置。 这听起来像是一个非常简单的任务,但让我们通过声明这些文件可能包含机密信息并可以通过非安全的通信渠道进行传输这一事…

学java专科_专科学历可以学习java开发吗

学习Java的热潮越来越高涨,除了转行而来的人,很多刚毕业的学生也加入到其中。很多人都觉得学习Java需要有一个高学历作为基础,一些专科生在学习之前会犹豫,他们是否能学习Java,首先学程序开发,入行Java开发…

具有InlfuxDB的Spring Boot和Micrometer第3部分:Servlet和JDBC

在上一个博客中,我们使用由InfluxDB支持的千分尺设置了反应式应用程序。 在本教程中,我们将使用传统的带JDBC阻塞式Servlet的Spring Stack。 我选择的数据库是postgresql。 我将使用与先前博客文章相同的脚本。 因此,我们将拥有初始化数据库…