springboot整合mysql
本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文件的位置。
- 一个是mapper下新建一个config文件夹,建立一个sqlMapConfig.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相关推荐
- Java学习——springboot整合mysql、redis、mongodb
Java学习--springboot整合mysql.redis.mongodb 1. 环境搭建 2. 搭建目录结构 3. 各层内容 4. 测试 1. 环境搭建 创建SpringBoot工程时勾选如下技 ...
- springboot 整合mysql clickhouse 多数据源
最近做一个项目 需要 整合mysql clickhouse 多数据源 后台用的是ruoyi框架 但是不知道作者自己写的datasource config文件是不是有问题 永远不能成功的加载第二个数据源 ...
- 2021年了还有做某某管理系统的?springboot整合mysql快速搭建XX管理系统
XX管理系统 摘要 1 技术选型 1.1 Mysql8 1.2 springboot2 1.3 模板引擎thymeleaf 2 项目构建 2.1 创建项目 2.2 建表 3 项目实现 3.1 项目效果 ...
- SpringBoot整合mysql驱动
1.引入pom依赖 <dependency><groupId>mysql</groupId><artifactId>mysql-connector-ja ...
- Springboot整合Mysql集群
文章目录 一.方法一 1.1 默认配置 1.2 需要自定义配置 1.3 自定义数据库配置类 1.4对从库进行操作(在写一个配置类) 一.方法一 1.1 默认配置 1.2 需要自定义配置 1.3 自定义 ...
- db2 springboot 整合_springboot的yml配置文件通过db2的方式整合mysql的教程
springboot整合MySQL很简单,多数据源就master,slave就行了,但是在整合DB2就需要另起一行,以下是同一个yml文件 先配置MySQL,代码如下 spring: datasour ...
- db2 springboot 整合_springboot的yml配置文件通过db2的方式整合mysql代码示例
本篇文章小编给大家分享一下springboot的yml配置文件通过db2的方式整合mysql代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. s ...
- springboot+jpa+mysql+redis+swagger整合步骤
springboot+jpa+MySQL+swagger框架搭建好之上再整合redis: 在电脑上先安装redis: 一.在pom.xml中引入redis 二.在application.yml里配置r ...
- Springboot整合JPA多数据源(Oracle+Mysql)
Springboot整合JPA多数据源 1. Maven 2. 基本配置 2.1 DataSource 3. 多数据源配置 3.1 JpaConfigOracle 3.2 JpaConfigMysql ...
- 使用liquibase进行数据库迁移(Postgresql/Mysql)——springboot整合Liquibase以及使用maven命令执行Liquibase同步更新数据
文章目录 一.什么是Liquibase? 1.liquibase的优点 2.liquibase的基本概念 3.官网地址 二.SpringBoot整合Liquibase 1.简介 2.项目结构 3.测试 ...
最新文章
- 给Python代码加上酷炫进度条的几种姿势
- Kali Linux信息收集工具全
- 登陆模块防止恶意用户客户端攻击
- python预处理c语言_详解C语言编程中预处理器的用法
- lombok @EqualsAndHashCode 注解的影响
- python rm 条件_删除文件 (rm)
- python legb_Python变量作用域LEGB用法解析
- 收集的一些jQuery (我平常用的少的,但确实挺有效果的)
- layui table reload post请求_如何实现在Layui框架中完成父窗口刷新(更新)
- 有没有一个永久储存数据的地方?
- Golang sync.Once 简介与用法
- MakeDirZ.bat
- 36.Linux/Unix 系统编程手册(下) -- 进程资源
- Python实现好友信息管理系统 添加、删除、修改、备注、查询好友信息
- java对话框进度条_java进度条
- 计算机系统定义硬盘1GB,硬盘容量是什么意思?常见的硬盘硬盘内部
- android stdio findViewById(R.id.报错
- MT4自定义指标导入方法
- 关于学习的网站和常用的工具网站的积累——来自贫民窟的孩子(持续更新)
- 如何进入mysql数据库