• Springboot(六):mysql配置及数据库查询 | 超级详细,建议收藏


    👨‍🎓作者:bug菌

    ✏️博客:CSDN掘金

    💌公众号:猿圈奇妙屋

    🚫特别声明:原创不易,转载请附上原文出处链接和本文声明,谢谢配合。

    🙏版权声明:文章里可能部分文字或者图片来源于互联网或者百度百科,如有侵权请联系bug菌处理。

             嗨,家人们,我是bug菌呀,我又来啦。今天我们来聊点什么咧,OK,接着为大家更《springboot零基础入门教学》系列文章吧。希望能帮助更多的初学者们快速入门!

           小伙伴们在批阅文章的过程中如果觉得文章对您有一丝丝帮助,还请别吝啬您手里的赞呀,大胆的把文章 点亮👍吧,您的点赞三连( 收藏⭐️+关注👨‍🎓+留言📃)就是对bug菌我创作道路上最好的鼓励与支持😘。时光不弃🏃🏻‍♀️,创作不停💕,加油☘️

    一、前言🔥

            通过前几期的基础教学,想必大家都已经springboot项目创建及启动等基本内容了吧,今个儿我就来整点高级的,跟数据库交互交互。如何连接mysql数据库,创建数据库表,最后再成功查询数据库并打印数据内容?是这期要讲的内容,可能会比较简单,同时也希望大家不要掉以轻心,打好基础,认真听哦。

    二、添加mysql依赖🔥

            首先,我们先在pom.xml依赖配置文件中引入mysql的数据库依赖包;配置添加如下:

    1. mysql
    2. mysql-connector-java
    3. runtime
    4. org.springframework.boot
    5. spring-boot-starter-jdbc

    三、创建数据库表🔥

    0️⃣连接本地mysql服务

            接着,我们使用 navicat 数据库可视化管理工具来创建一个mysql数据库。我们先连接本地数据库,输入连接名,主机ip,端口(3306),用户名,密码是你当初安装mysql服务时填写的。

     接着就点击左下角的【测试连接】,查验你本地的mysql服务是否能够被连接上?

            如果展示如上截图,提示【连接成功】,则证明你本地的mysql服务是开启的。

            如果还不会操作的,请参考bug菌写的这篇 navicat如何创建数据库及导入数据库文件

    1️⃣创建数据库

            先创建个数据库,取名这个大家随意啊,命名最好见名之意。

    2️⃣创建数据库表

    选择刚才创建好的数据库下层的表,然后右键打击选择【新建表】

    3️⃣创建表字段

    建几个字段,然后点击保存。

     附上创建表sql:

    1. CREATE TABLE `user` (
    2. `id` int(11) NOT NULL COMMENT '主键id',
    3. `name` varchar(255) NOT NULL COMMENT '用户名',
    4. `age` int(11) DEFAULT NULL COMMENT '年龄',
    5. `sex` varchar(2) DEFAULT NULL COMMENT '性别',
    6. `address` varchar(255) DEFAULT NULL COMMENT '住址',
    7. PRIMARY KEY (`id`)
    8. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    4️⃣mock数据

    先随便造几条数据吧,待会儿有用得上。

            ok!以上跟着bug菌一步一步来哈,不要急,更不要遗漏任何一步骤,接下来我们就是配置连接数据库信息。

    四、yaml配置文件配置数据库连接信息🔥

            我就以yaml格式配置文件为例吧,.properties格式文件也是一样配置(只是语法有些不同而已)。注意,这个时候,前面一期有教大家为何要使用profile文件来动态切换配置环境,此刻就排上用场了,我们先指定一个开发环境配置,即:先在application.yaml 中指定 active = dev即可。具体演示配置如下:

    1. spring:
    2. profiles:
    3. # 控制使用哪套环境变量
    4. active: dev

    配置数据库连接信息如下:

            以application-dev.yaml为例,.properties也是一样的。这里就不着重展开讲啦。

    1. #开发环境数据库信息
    2. spring:
    3. datasource:
    4. url: jdbc:mysql://localhost:3306/springboot_db?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8
    5. username: root
    6. password: 123456 #数据库名、用户名和密码改为自己的
    7. driver-class-name: com.mysql.cj.jdbc.Driver

            这样就算配置好了,启动项目,没有报错!但是就一定能保证项目与数据库之间连通是可以的吗?肯定不是,毕竟你只是配置了连接信息,并没有实现相关mysql测试连接的东西,我们这里就用最简单的方法来测试是否能连接mysql服务。

            所以接下来,我们定义一个controller类, 通过代码来实现与数据库交互,一探究竟!

            我们先来创建个 “UserController”类,然后注入JdbcTemplate jdbc模板类,具体代码请看如下:目的就是访问数据库并获取用户数据信息。

    1. package com.example.demo.controller;
    2. import org.springframework.beans.factory.annotation.Autowired;
    3. import org.springframework.jdbc.core.JdbcTemplate;
    4. import org.springframework.web.bind.annotation.GetMapping;
    5. import org.springframework.web.bind.annotation.RequestMapping;
    6. import org.springframework.web.bind.annotation.RestController;
    7. import java.util.List;import java.util.Map;
    8. @RestController
    9. @RequestMapping("/user")
    10. public class UserController {
    11. //注入JDBC模板接口
    12. @Autowired
    13. private JdbcTemplate jdbcTemplate;
    14. /**
    15. * 查询所有用户信息
    16. */
    17. @GetMapping("/get-users")
    18. public List> getUserList(){
    19. //查询sql语句
    20. String sql = "select * from user";
    21. List> list = jdbcTemplate.queryForList(sql);
    22. //返回结果
    23. return list;
    24. }
    25. }

            写完之后重启项目,没有报错,ok!接着打开浏览器访问该get请求。看看能否成功返回查询数据?在浏览器地址栏输入接口访问地址,如下:

    http://localhost:8080/user/get-users

            输完直接回车,ok!成功将我们刚才插入数据库的那条数据查出了并打印在了页面上。证明数据库连接成功且拿到了所查询该表的数据集,证明了本地mysql连接没有问题,第二就是active动态切换配置也是OK的。

            接下来,大家可以自由尝试,比如通过接口调用的形式插入一条数据,通过主键id修改一条数据,指定删除一条数据等等,此处就不一一举例啦。学习过程中,产生任何疑问皆可评论区留言,bug菌一定第一时间给予大家帮助解答困惑。

    五、往期推荐🔥

           ... ...

           ok,以上就是我这期的全部内容啦,如果还想学习更多,你可以看看我的往期热文推荐哦,每天积累一个奇淫小知识,日积月累下去,你一定能成为令人敬仰的大佬的。好啦,咱们下期见~

    六、文末🔥

            如果还想要学习更多,小伙伴们可关注bug菌专门为大家创建的专栏《springboot零基础入门教学》,从无到有,从零到一!希望能帮助到更多小伙伴们。

           我是bug菌,一名想走👣出大山改变命运的程序猿。接下来的路还很长,都等待着我们去突破、去挑战。来吧,小伙伴们,我们一起加油!未来皆可期,fighting!

            最后送大家两句我很喜欢的话,与诸君共勉!


    ☘️做你想做的人,没有时间限制,只要愿意,什么时候都可以start。

    🍀你能从现在开始改变,也可以一成不变,这件事,没有规矩可言,你可以活出最精彩的自己。


    ​​​

    💌如果文章对您有所帮助,就请留下您的吧!(#^.^#);

    💝如果喜欢bug菌分享的文章,就请给bug菌点个关注吧!(๑′ᴗ‵๑)づ╭❤~;

    💗如果对文章有任何疑问,还请文末留言或者加群吧;

    💞鉴于个人经验有限,所有观点及技术研点,如有异议,请直接回复参与讨论(请勿发表攻击言论,谢谢);

    💕版权声明:原创不易,转载请附上原文出处链接和本文声明,版权所有,盗版必究!!!谢谢。

  • 相关阅读:
    无序标签的使用
    JAVA实现SAP接口
    VS+QT编译出现QMYSQL driver not loaded
    leetcode:650. 只有两个键的键盘【二维dp】
    代码随想录算法训练营第五十七天 | 392.判断子序列 & 115.不同的子序列
    docker安装UnlockMusic(音乐格式转换工具 )
    MySQL的使用
    第5章丨IRIS Global —— 临时全局变量和 IRISTEMP 数据库
    数理统计笔记1:常用分布
    【2022 CCF BDCI 文心大模型创意项目】中秋款文心带你轻松搞定MV制作
  • 原文地址:https://blog.csdn.net/weixin_43970743/article/details/125844323