当前位置: 首页 > 科技观察

SpringBoot中如何使用JDBC连接MySQL

时间:2023-03-12 00:42:16 科技观察

?上次帮小王进了SpringBoot门,他觉得我平易近人,于是第二天小王又给我发了一条微信,说:“二哥,快点!”告诉我,在SpringBoot项目中如何使用JDBC连接MySQL?”收到问题的时候,我有点晕,难道以后要被小王纠缠了?还没来得及吐槽,小王跟着说道:“二哥,你别生气。在你上次帮助我之后,我整个晚上都在心里感谢你。想着第一次遇到这么好心的老板,我一定要抱紧自己的大腿。.……”阿谀奉承说到这里,我的火气自然消了。后来,我花了五分钟的时间,帮他解决了烦恼。他想也没想,就给我发了一个小红包,表示对我的感谢。他还建议我再写一篇,因为他觉得像他这样的新手还有很多,没办法,我关上门,开灯,开始写今天的文章。01.初始化MySQL数据库既然要连接MySQL,那你需要在电脑上安装MySQL服务(本文略过),创建数据库和表BASE`springbootdemo`;DROPTABLEIFEXISTS`mysql_datasource`;CREATETABLE`mysql_datasource`(`id`varchar(64)NOTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBDEFAULTCHARSET=utf8;02.使用SpringInitlallzr创建一个SpringBoot项目项目很简单,通过SpringInitlallzr(start.spring.io/)即可。查看Lombok,Web,MySQLDriver,Actuator,andJDBC.1)Lombok是一个Java实用程序at可以用来帮助开发者去掉Java中的一些冗余代码,比如通过注解生成getter/setter。使用前需要在IDE中安装插件。2)Web表示该项目为Web项目,方便我们直接通过URL进行操作。3)MySQLDriver:连接MySQL服务器的驱动程序。4)Actuator是SpringBoot提供的对应用系统进行自省和监控的集成功能。可以查看应用配置的详细信息,比如自动配置信息、创建的Springbean、一些环境属性等。5)JDBC:在本文中,我们使用JDBC来连接和操作数据库。选项选好后,点击【Generate】按钮即可生成一个初始化好的SpringBoot工程。生成一个压缩包,导入IDE前需要先解压。03.编辑application.properties文件。项目导入成功后,等待Maven下载依赖。完成后,编辑application.properties文件,配置MySQL数据源信息。spring.datasource.url=jdbc:mysql://127.0.0.1:3306/springbootdemospring.datasource.username=rootspring.datasource.password=123456spring.datasource.driver-class-name=com.mysql.jdbc.Driver1)spring.数据源。是一种固定格式。2)URL是MySQL的连接地址。3)username是访问数据库的用户名。4)password为数据库的访问密码。5)driver-class-name用于指定数据库的驱动程序。也可以不指定,SpringBoot会根据URL(带mysql关键字)自动匹配驱动。04、编辑SpringBoot工程为了方便我们操作,我们编辑SpringBootMysqlApplication类,添加如下内容。@SpringBootApplication@RestControllerpublicclassSpringBootMysqlApplication{@AutowiredprivateJdbcTemplatejdbcTemplate;@RequestMapping("insert")publicStringinsert(){Stringid=UUID.randomUUID().toString();Stringsql="insertintomysql_datasource(id,name)values('"+id+"','沉默之王二')";jdbcTemplate.execute(sql);return"insertcomplete";}}1)@SpringBootApplication、@RestController、@RequestMapping注解在【上一篇文章】()中已有介绍,此处不再赘述。2)@Autowired:顾名思义,就是用来自动组装JavaBeans的。3)JdbcTemplate:Spring将对数据库的操作在jdbc上进行了深层次的封装,可以利用Spring的注入功能将DataSource注册到JdbcTemplate中。JdbcTemplate提供了四种常用的方法。①、execute()方法:用于执行任何SQL语句。②、update()方法:用于执行增、改、删等SQL语句。③.query()方法:用于执行查询相关的SQL语句。④、call()方法:用于执行存储过程和函数相关的SQL语句。本例中,我们使用execute()方法向mysql_datasource表中插入一行数据{id:uuid,name:'沉默王二'}。05.运行SpringBoot项目接下来我们直接运行SpringBootMysqlApplication类,这样一个SpringBoot项目就成功启动了。这时候我们可以直接在浏览器的URL中输入http://localhost:8080/insert来测试MySQL插入语句是否执行成功。不幸的是,出了点问题。我们应该做什么?这就需要我们在连接字符串中明确指定时区,修改spring.datasource.url为如下内容。spring.datasource.url=jdbc:mysql://127.0.0.1:3306/springbootdemo?serverTimezone=UTC重新运行项目后,再次访问,发现数据插入成功。为了确保数据真的插入成功,我们通过Navicat(一个强大的数据库管理和设计工具)来检查一下。情况不妙,汉字乱码。我们应该做什么?我们需要在连接字符串中显式指定字符集,将spring.datasource.url修改为如下内容。spring.datasource.url=jdbc:mysql://127.0.0.1:3306/springbootdemo?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC重新运行项目后,再次访问,发现中文不再是乱码了。作者:沉默之王2链接:https://juejin.im/post/5ed443eef265da76ed485423来源:掘金

最新推荐
猜你喜欢