access insert语句怎么写_被缠上了,小王问我怎么在 Spring Boot 中使用 JDBC 连接 MySQL

180945274ba23082330038f9a2301397.png

上次帮小王入了Spring Boot门后,他觉得我这个人和蔼可亲、平易近人,于是隔天小王又微信我说:“狮狮,快教教我,怎么在 Spring Boot 项目中使用 JDBC 连接 MySQL 啊?”
收到问题的时候,我有点头大,难道以后就要被小王缠上了?

f1bd6dbdb0b18ba0875a22577b9f299d.png

没等我发牢骚,小王就紧接着说:“狮狮,你先别生气,上次你帮了我的忙后,我在心里感激了你一晚上,想着第一次遇到这么亲切的大佬,一定要抱紧大腿。。。。。”
马屁拍到这份上,我的气自然也就消了。随后,我花了五分钟的时间帮他解决了苦恼,没成想,他又发给我了一个小红包,表示对我的感谢。并建议我再写一篇文章出来,因为他觉得像他这样的小白还有很多。没办法,我关上门,开了灯,开始了今天这篇文章的创作。01、初始化 MySQL 数据库
既然要连接 MySQL,那么就需要先在电脑上安装 MySQL 服务(本文暂且跳过),并且创建数据库和表。CREATE DATABASE `springbootdemo`;DROP TABLE IF EXISTS `mysql_datasource`;CREATE TABLE `mysql_datasource` (
`id` varchar(64) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
复制代码02、使用 Spring Initlallzr 创建 Spring Boot 项目
创建一个 Spring Boot 项目非常简单,通过 Spring Initlallzr(start.spring.io/)就可以了。

b3a2828ddda2e56cded3c1c7999f82c4.png

勾选 Lombok、Web、MySQL Driver、Actuator、JDBC 等五个依赖。
1)Lombok 是一种 Java 实用工具,可用来帮助开发人员消除 Java 的一些冗余代码,比如说可以通过注解生成 getter/setter。使用之前需要先在 IDE 中安装插件。
2)Web 表明该项目是一个 Web 项目,便于我们直接通过 URL 来实操。
3)MySQL Driver:连接 MySQL 服务器的驱动器。
4)Actuator 是 Spring Boot 提供的对应用系统的自省和监控的集成功能,可以查看应用配置的详细信息,例如自动化配置信息、创建的 Spring beans 以及一些环境属性等。
5)JDBC:本篇文章我们通过 JDBC 来连接和操作数据库。
选项选择完后,就可以点击【Generate】按钮生成一个初始化的 Spring Boot 项目了。生成的是一个压缩包,导入到 IDE 的时候需要先解压。03、编辑 application.properties 文件
项目导入成功后,等待 Maven 下载依赖,完成后编辑 application.properties 文件,配置 MySQL 数据源信息。
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/springbootdemo
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
复制代码
1)spring.datasource. 为固定格式。
2)URL 为 MySQL 的连接地址。
3)username 为数据库的访问用户名。
4)password 为数据库的访问密码。
5)driver-class-name 用来指定数据库的驱动器。也可以不指定,Spring Boot 会根据 URL(有 mysql 关键字) 自动匹配驱动器。04、编辑 Spring Boot 项目
为了便于我们操作,我们对 SpringBootMysqlApplication 类进行编辑,增加以下内容。@SpringBootApplication@RestControllerpublic class SpringBootMysqlApplication {@Autowiredprivate JdbcTemplate jdbcTemplate;@RequestMapping("insert")public String insert() {
String id = UUID.randomUUID().toString();
String sql = "insert into mysql_datasource (id,name) values ('"+id+"','沉默王二')";
jdbcTemplate.execute(sql);return "插入完毕";
}
}
复制代码
1)@SpringBootApplication、@RestController、@RequestMapping 注解在[之前的文章]()中已经介绍过了,这里不再赘述。
2)@Autowired:顾名思义,用于自动装配 Java Bean。
3)JdbcTemplate:Spring 对数据库的操作在 jdbc 上做了深层次的封装,利用 Spring 的注入功能可以把 DataSource 注册到 JdbcTemplate 之中。JdbcTemplate 提供了四个常用的方法。
①、execute() 方法:用于执行任何 SQL 语句。
②、update() 方法:用于执行新增、修改、删除等 SQL 语句。
③、query() 方法:用于执行查询相关 SQL 语句。
④、call() 方法:用于执行存储过程、函数相关 SQL 语句。
本例中我们使用 execute() 方法向 mysql_datasource 表中插入一行数据 {id:uuid, name:'沉默王二'}05、运行 Spring Boot 项目
接下来,我们直接运行 SpringBootMysqlApplication 类,这样一个 Spring Boot 项目就启动成功了。

0eda0e5c421dba866f6e612ca7256636.png

这时候,我们可以直接浏览器的 URL 中键入 http://localhost:8080/insert测试 MySQL 的插入语句是否执行成功。很遗憾,竟然出错了。

d510f2e57b3606a0203aa437918934c8.png

该怎么办呢?这需要我们在连接字符串中显式指定时区,修改 spring.datasource.url 为以下内容。
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/springbootdemo?serverTimezone=UTC
复制代码
重新运行该项目后再次访问,发现数据插入成功了。

0eda0e5c421dba866f6e612ca7256636.png

为了确保数据是否真的插入成功了,我们通过 Navicat(一款强大的数据库管理和设计工具)来查看一下。

bbfa0b868d47111c5216c4b506b028a1.png

情况不妙,中文乱码了。该怎么办呢?需要我们在连接字符串中显式指定字符集,修改 spring.datasource.url 为以下内容。
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/springbootdemo?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
复制代码
重新运行该项目后再次访问,发现中文不再乱码了。

99d96779eeb9180d1057c605da619db7.png

快给自己点个赞。

f0b343e81638ffca2cc804130e11d0bb.gif

06、鸣谢
我是Java架构攻城狮狮,一枚有趣的程序员。如果觉得文章对你有点帮助,想要和狮狮交流或者要一些免费Java资料 电子版书籍 面试题答案及解析 高清教学视频 源码等 请加主页图威威 第一时间通过,或者私信关键字【Spring】免费领取,欢迎 Star。原创不易,莫要白票,请你为本文点个赞吧,这将是我写作更多优质文章的最强动力。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值