前端入门JAVA:Spring-web项目配置数据库连接

133 阅读4分钟

专栏前言

作为一名前端开发,为了扩展自身技能,准备入门级的学习一下java后端相关知识。虽然岗位是前端,但我觉得不能算是卷。

因为我们日常开发中几乎每天都要和后端同学打交道,如果能够掌握后端基本知识的话,我相信在前端开发工作中也会有很大作用。 技多不压身,如果这个过程让你感到痛苦那大可不必;反之,学习新事物的过程中能让自己更加自信、有成就感时,我觉得是有意义的!

记得是2年前学习过一个入门级的java项目,但现在可以说是忘记的差不多了。最近打算从0开始学习,并输出文章,方便自己日后复习查阅,也希望帮助到其他同学。

专栏往期推荐:
前端入门JAVA:基础开发环境配置
前端入门JAVA:创建第一个java项目
前端入门JAVA:Spring-web项目实现第一个本地接口

前言

上篇文章中我们在项目中只实现了简单本地接口,严格意义来说还不算真正的接口。本篇我们来配置连接 mysql 数据库、新建数据库表为开发真实接口做准备。

开发环境

  • jdk17
  • ide 2023
  • springBoot 2.6.13
  • maven 3.9.2
  • mysql 5.1.47

配置依赖

pom.xml中添加以下依赖:

image.png

mysql

<!-- MySQL 依赖 -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.47</version>
    <scope>runtime</scope>
</dependency>

这里 mysql 指定版本为 5.1.47;需要注意的是mysql版本不要太高也不要太低,否则会出问题、报错。

mybatis

ORM 框架,(Object Relational Mapping) 直接翻译就是:对象关系映射。
是基于 JDBC 的框架,简单来说就是别人把JDBC封装好,你直接导入这个mybatis依赖就可以不用JDBC那一套操作。 而是换成 mybatis 规定的操作来操作数据库。
mybatis主要用于j2ee企业级应用开发的持久层,用于处理java程序与数据库之间的交互

添加 mybatis3.5.2 版本,也不能太高或者太低

<!-- mybatis 依赖  https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.5.2</version>
</dependency>

添加完依赖后下载依赖:右键-maven-重新加载项目

image.png

配置数据库连接

src/main/resources/application.properties 中设置数据库连接(使用 mysql 数据库)。

  • 数据库连接配置

spring.datasource.url=jdbc:mysql://localhost:3306/your_database_name?useSSL=false&serverTimezone=UTC
spring.datasource.username=xxx
spring.datasource.password=xxx
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

spring.datasource.url:数据库服务器地址。
spring.datasource.username:数据库登陆用户名。
spring.datasource.password:数据库登陆密码。
spring.datasource.driver-class-name:数据库连接驱动类。

  • JPA配置
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect

安装mysql

因为我的机器上之前安装过 mysql。 mac本的话推荐使用 brew 进行安装:

brew install mysql@5.7

  • 查看版本 mysql -V

image.png

  • 使用命令查看提示
    brew info mysql 

根据提示,有两种启动方式:

  • brew services start mysql

  • mysql.server start

    mysql 服务启动成功: image.png

  • 重启数据库
    mysql.server restart 

  • 关闭数据库:
    mysql.server stop

  • 连接数据库:
    mysql -u root

  • 初始化操作:
    mysql_secure_installation

注意:mysql 中,出于安全原因,密码是以加密形式存储在数据库中的,因此无法直接查看明文密码!

新建数据库表

我这里使用的是 Navicat Premium Lite客户端工具进行连接本地数据库。

数据库名为: maven-java-demo

字符集:utf8、排序规则: utf8_general_ci

image.png

常用字符集推荐

  • utf8mb4: 是 MySQL 中推荐使用的字符集,支持所有 Unicode 字符,包括表情符号。

    • 适用场景:如果你的应用涉及多语言支持,或者需要存储表情符号,建议使用 utf8mb4

    • 排序规则

      • 通常与 utf8mb4_general_ci 或 utf8mb4_unicode_ci 配合使用。

      • utf8mb4_general_ci:性能较快,但不考虑某些语言的特定规则。

      • utf8mb4_unicode_ci:更严格的排序规则,适合需要语言排序的场景。

  • utf8: 是 MySQL 中早期的字符集,支持大部分常用的字符,但不支持所有 Unicode 字符。

    • 适用场景:如果你的数据只包含西欧语言的字符(不需要表情符号等),可以使用 utf8
    • 排序规则:通常与 utf8_general_ci 或 utf8_unicode_ci 配合使用。

新建user表

新建表 user,属性 如下:

  • 用户名 username ,类型为 varchar

  • 密码 password,类型为 int

image.png

遇到问题

cj.jdbc.Driver相关报错

查看 application.properties 文件中配置的数据库连接驱动类的值为:spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

原因:pom.xml 文件中的 mysql 不同版本需要对应不同的 driver class写法

解决:

  • mysql版本8.X 对应: spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

  • mysql版本5.X 对应: spring.datasource.driver-class-name=com.mysql.jdbc.Driver

总结

至此,我们在项目中配置好了 mysqlmybatis,并且在本地数据库中新建好了 user 数据表,接下来就可以写业务代码了。

如果文章对你有帮助,可以点赞、评论、收藏、转发互动支持哈! 你的点赞支持是我最大的动力!

前端学习交流群  拉你进 前端学习交流群 让我们一起 好好学习(🐟🐟🐟)吧😎😎😎