本demo为Springboot整合mybatis对数据库进行查询

1、创建本地数据库并建表。 

此时我们用mysql,在navicat中连接到数据库,然后创建一个新表test,然后建一个user表,设计字段为自增id,name,sex,password。

插入两条数据。

Tips:

(1)可以到git中doc下拿到sql文件

(2)SpringMVC不熟悉可以 - >  SpringMVC基础知识

2、初始化Springboot项目

本例使用的是idea(eclipse操作类似):

创建一个springboot项目,并导入相应的jar包。(File -> new -> project -> Spring Iniltiazr)

Tips : 图是连接https://start.spring.io,这个网站可以帮助你快速构建一个springboot项目。

3、项目的配置文件

编辑application.yml (或application.properties),配置端口号和项目名称,(注意:yml方式冒号后边必须有一个空格)

server.port: 8080 指 tomcat 的端口号,也可以根据需求指定其它端口号 如80、8001等

servlet.context-path:/demo 为项目名称

此时如果访问接口时候:则 访问 http://localhost:8080/demo/接口名

如果端口是80,即server.port: 80 ,则 访问 http://localhost/demo

如果context-path为/时,即servlet.context-path: / ,则 访问 http://localhost

Tips :1、图是配置文件,springboot在整合不同的框架的时候,会引入不同的配置信息,

我们需要结合框架官网提供的示例或者网上的案例,结合自己的项目,进行不同的配置。

2、网上提供yml格式的文件和properties格式的互转:http://www.toyaml.com/index.html

4、创建实体类

在com.sy下创建包名为entity的包,并编写User类。现在我们创建一个User.java类,

根据之前创建的user表,设计的字段有id、name、sex、password并添加相应的getter和setter。并在实体类上加@Component注解。

Tips : 图是实体层,(也可以称为model层、entity层等),存放我们的实体类,与数据库中的属性值基本保持一致。

5、创建DAO层

DAO层叫数据访问层,全称为data access object,属于一种比较底层,比dao层主要做数据持久层的工作。负责与数据库进行联络的一些任务都封装

在此dao层主要做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此。我们可以使用mybatis框架进行dao层的实现。例子中我们查询所有的用户。

  • 使用mysql和mybatis,首先在pom.xml添加相应的依赖(注释和依赖如下,带springboot-boot-starter是支持springboot自动装配的依赖)
  • 目的是引入相应的驱动和方法连接并操作mysql数据库(引入之后我们还需要进行相关的配置便可以使用)

  • 首先在com.sy下建立一个dao包,在dao包下新建一个UserMapper.java接口,先定义一个listUsers方法,然后再去实现它。
  • 注意其中@Mapper注解和@Component注解。其中@Mapper是mybatis提供的注解,@Component是Spring的注解。

  • 实现这个接口,利用mybatis提供的xml方式。
  • 在resource文件夹下新建一个mapper的文件夹,然后建一个UserMapper.xml文件(右键文件夹New - > File), 其中<mapper namespace="com.sy.dao.UserMapper">中定义了接口类的位置,resultMap定义了sql返回的类型,parameterType="java.lang.String"是sql用使用的参数类型,即#{name}是String类型的。 其中有实体类中property的字段名、和数据库中column的字段名、还有jdbc的类型。
  • 更多解释请去官方网http://www.mybatis.org/mybatis-3/zh/configuration.html

  • 此时,我们还需要配置两个地方,

    • 一个是mapper下新建一个config文件夹,建立一个sqlMapConfig.xml文件,文件如下:

      Tips :由于我们使用注解方式开发,这个文件里的代码就可以写很少量的代码了。此配置文件
    • 二个是修改application.yml , 目的是配置连接数据库,和装配mybatis框架,配置的参数如下: 其中数据库主要需要四个参数:driver-class-name、url、username、password,其他是调优的参数。 mybatis主要指定xml文件的位置。

6、创建Service层

服务层,被称为服务,粗略的理解就是对一个或多个DAO进行的再次封装,封装成一个服务,所以这里也就不会是一个原子操作了,需要事物控制。

  • 在com.sy下创建service层,创建UserService接口。并编写UserService.java。

  • 然后在service层下创建impl实现层,编写UserServiceImpl.java实现类。需要在实现类上添加@Service注解,默认value为userService,然后可以自己定义value
  • 此处只简单调用了dao层的接口。

7、创建controller层

controller层负责具体的业务模块流程的控制,在此层要调用service层的接口来控制业务流程,控制的配置也同样是在Spring的配置文件里进行,针对具体的业务流程,会有不同的控制器。我们具体的

设计过程可以将流程进行抽象归纳,设计出可以重复利用的子单元流程模块。这样不仅使程序结构变得清晰,也大大减少了代码量。

  • 在com.sy下创建UserController.java,我们在类上加上@RestController注解和@RequestMapping注解,调用的Service层需要用@Autiwired注解来实现调用

Tips :在controller层中,需要使用的是restful风格,Restful就是一个资源定位及资源操作的风格。不是标准也不是协议,只是一种风格。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

网上找到一个比较通俗的说法是:URL定位资源,用HTTP动词(GET,POST,DELETE,PUSH等)描述操作

有关restful的介绍 -> https://www.jianshu.com/p/43dae0b83755  、RESTful.pptx  、 https://blog.csdn.net/chenxiaochan/article/details/73716617

8、运行项目进行功能测试

此时我们就完成了对数据库的单表的全查询

SpringmvcApplication.java中的main方法为程序的入口,可以此main方法来运行整个项目。

运行截图:

我们可以看到,访问这个接口可以得到json的数组,这个json数组由来  ------>   是dao层访问数据库,经过service封装判断等一些操作,然后通过访问controller层拿到的。

接口:localhost中指的是本机的ip地址,也可以用127.0.0.1,如果在服务器上跑此项目,把localhost替换成服务器的ip。

 json数组:上图我们可以看到的json是一个可以给前端页面解析,变成一个好看的页面。

我们可以借助网站来判断一个数据是否为正确的json格式,也可以通过这个网站快速设计实体类、xml等。

如  http://www.bejson.com/    、  https://www.json.cn/

springboot整合mysql相关推荐

  1. Java学习——springboot整合mysql、redis、mongodb

    Java学习--springboot整合mysql.redis.mongodb 1. 环境搭建 2. 搭建目录结构 3. 各层内容 4. 测试 1. 环境搭建 创建SpringBoot工程时勾选如下技 ...

  2. springboot 整合mysql clickhouse 多数据源

    最近做一个项目 需要 整合mysql clickhouse 多数据源 后台用的是ruoyi框架 但是不知道作者自己写的datasource config文件是不是有问题 永远不能成功的加载第二个数据源 ...

  3. 2021年了还有做某某管理系统的?springboot整合mysql快速搭建XX管理系统

    XX管理系统 摘要 1 技术选型 1.1 Mysql8 1.2 springboot2 1.3 模板引擎thymeleaf 2 项目构建 2.1 创建项目 2.2 建表 3 项目实现 3.1 项目效果 ...

  4. SpringBoot整合mysql驱动

    1.引入pom依赖 <dependency><groupId>mysql</groupId><artifactId>mysql-connector-ja ...

  5. Springboot整合Mysql集群

    文章目录 一.方法一 1.1 默认配置 1.2 需要自定义配置 1.3 自定义数据库配置类 1.4对从库进行操作(在写一个配置类) 一.方法一 1.1 默认配置 1.2 需要自定义配置 1.3 自定义 ...

  6. db2 springboot 整合_springboot的yml配置文件通过db2的方式整合mysql的教程

    springboot整合MySQL很简单,多数据源就master,slave就行了,但是在整合DB2就需要另起一行,以下是同一个yml文件 先配置MySQL,代码如下 spring: datasour ...

  7. db2 springboot 整合_springboot的yml配置文件通过db2的方式整合mysql代码示例

    本篇文章小编给大家分享一下springboot的yml配置文件通过db2的方式整合mysql代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. s ...

  8. springboot+jpa+mysql+redis+swagger整合步骤

    springboot+jpa+MySQL+swagger框架搭建好之上再整合redis: 在电脑上先安装redis: 一.在pom.xml中引入redis 二.在application.yml里配置r ...

  9. Springboot整合JPA多数据源(Oracle+Mysql)

    Springboot整合JPA多数据源 1. Maven 2. 基本配置 2.1 DataSource 3. 多数据源配置 3.1 JpaConfigOracle 3.2 JpaConfigMysql ...

  10. 使用liquibase进行数据库迁移(Postgresql/Mysql)——springboot整合Liquibase以及使用maven命令执行Liquibase同步更新数据

    文章目录 一.什么是Liquibase? 1.liquibase的优点 2.liquibase的基本概念 3.官网地址 二.SpringBoot整合Liquibase 1.简介 2.项目结构 3.测试 ...

最新文章

  1. 给Python代码加上酷炫进度条的几种姿势
  2. Kali Linux信息收集工具全
  3. 登陆模块防止恶意用户客户端攻击
  4. python预处理c语言_详解C语言编程中预处理器的用法
  5. lombok @EqualsAndHashCode 注解的影响
  6. python rm 条件_删除文件 (rm)
  7. python legb_Python变量作用域LEGB用法解析
  8. 收集的一些jQuery (我平常用的少的,但确实挺有效果的)
  9. layui table reload post请求_如何实现在Layui框架中完成父窗口刷新(更新)
  10. 有没有一个永久储存数据的地方?
  11. Golang sync.Once 简介与用法
  12. MakeDirZ.bat
  13. 36.Linux/Unix 系统编程手册(下) -- 进程资源
  14. Python实现好友信息管理系统 添加、删除、修改、备注、查询好友信息
  15. java对话框进度条_java进度条
  16. 计算机系统定义硬盘1GB,硬盘容量是什么意思?常见的硬盘硬盘内部
  17. android stdio findViewById(R.id.报错
  18. MT4自定义指标导入方法
  19. 关于学习的网站和常用的工具网站的积累——来自贫民窟的孩子(持续更新)
  20. 如何进入mysql数据库

热门文章

  1. 机器码解除教程,逃离塔科夫机器码解除,彩虹6号机器码解除,dayz机器码解除,腐蚀rust机器码解除
  2. 4r照片尺寸是多大_4R照片是什么尺寸,跟普通照片有什么区别? – 手机爱问
  3. python:BeautifulSoup解析爬取网页文章demo
  4. uboot调试过程:用来调试phy不通的过程(am3352)
  5. 国产ERP有没有机会击败SAP ?
  6. 方差var、协方差cov、协方差矩阵(浅谈)
  7. 疫情期间大学生在线学习效果调查报告
  8. windows7下制作苹果U盘启动盘
  9. android开发 多语言和国际化(转)
  10. 计算机专业拼音怎样写,单板计算机拼音