我的编程空间,编程开发者的网络收藏夹
学习永远不晚

SpringBoot利用jpa连接MySQL数据库的方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

SpringBoot利用jpa连接MySQL数据库的方法

添加依赖

在pom文件中添加如下依赖

<!--添加Jpa依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <!--数据库链接驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

配置数据库连接 

在application.yml中添加数据库连接配置

# 应用服务 WEB 访问端口
server:
  port: 8080
# 应用名称
spring:
  application:
    name: HelloSpringBoot
  #数据库配置连接
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/hello_jpa?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
    username: root
    password: "123456"
    driver-class-name: com.mysql.cj.jdbc.Driver
  jpa:
    show-sql: true

配置上数据库的连接地址和账号密码

url: jdbc:mysql://127.0.0.1:3306/hello_jpa??useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai

数据库连接地址

127.0.0.1表示本地

3306数据库端口号

hello_jpa数据库名称

useUnicode=true&characterEncoding=utf-8配置数据库连接使用UTF8编码

serverTimezone=Asia/Shanghai配置时间为北京时间

username 配置数据库名称 root

password 配置数据库密码 123456

driver-class-name 配置mysql的驱动 com.mysql.cj.jdbc.Driver

show-sql配置控制台是否打印访问数据库时的sql语句,配置为true,显示sql语句,方便调试。

启动项目,看到如下信息,表示数据库连接成功,如果显示错误,请查验是否数据库连接信息有错误。

创建测试数据库表

CREATE TABLE `jpa_user`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自增主键',
  `username` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户名称',
  `age` tinyint(4) NULL DEFAULT NULL COMMENT '年龄',
  `gender` tinyint(4) NULL DEFAULT NULL COMMENT '性别0女 1男',
  `phone` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '手机号',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

Java代码部分

建实体类和Repository

jpa_user表对应实体类User

//引入lombok的getset注解,也可以不引入,自己写下面字段的对应getset方法
@Getter
@Setter
//注解此类为实体类
@Entity
//关联数据库表的名称
@Table(name = "jpa_user")
public class User {
 
    //声明属性为主键
    @Id
    //指定主键生成策略
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    // @Column注解,设置属性关联的数据库表字段
    // 注意:如果属性名和表字段名相同,可以不设置,比如这个实体类对应的所有字段就都是与数据库表字段相同的,都可以不设置Column注解
    @Column(name = "id")
    private Long id;
 
    @Column(name = "username")
    private String username;
 
    @Column(name = "age")
    private Integer age;
 
    @Column(name = "gender")
    private Integer gender;
 
    @Column(name = "phone")
    private String phone;
 
    //驼峰命名法和数据库中的下划线字段是对应的
    @Column(name = "access_card_number")
    private String accessCardNumber;
 
}

创建UserRepository,数据库操作类

public interface UserRepository extends JpaRepository<User, Long> {
}

是的,这个接口没有定义方法,只要继承JpaRepository就可以,<User, Long>分别对应的要连接的实体类和主键类型。

JpaRepository内置好了基本的增删查改接口及排序和分页功能。

做个简单的代码测试

往数据库中插入数据

        //insert into jpa_user (access_card_number, age, gender, phone, username) values (?, ?, ?, ?, ?)
        User user = new User();
        user.setUsername("test");
        user.setPhone("13112345678");
        user.setAge(18);
        user.setGender(0);
        user.setAccessCardNumber("ic_001");
        userRepository.save(user);

根据主键id查找数据

//select * from jpa_user user where user.id=?
        User user = userRepository.findById(id).orElse(null);

修改id为1的数据

//update jpa_user set access_card_number=?, age=?, gender=?, phone=?, username=? where id=?
        User user = userRepository.findById(1L).orElse(null);
        user.setPhone("13212345678");
        userRepository.save(user);

删除id为1的数据

//update jpa_user set access_card_number=?, age=?, gender=?, phone=?, username=? where id=?
        User user = userRepository.findById(1L).orElse(null);
        user.setPhone("13212345678");
        userRepository.save(user);

where语句与查找数据

在UserRepository中定义一个方法

//select * from jpa_user user where (user.age between ? and ?) and user.gender=?
 
List<User> findByAgeBetweenAndGender(int minAge, int maxAge, int gender);

在repository中我们可以自定义查找条件的方法

findBy前缀为查找实体数据,countBy前缀表示查找实体数量,deleteBy前缀为删除数据

这三种后面跟随的都是查找条件,多条件用and或or连接

比如上面的例子就是搜索(age between minAge and maxAge) and gender = gender

搜索条件支持定向查找,模糊查找,比较查找等等。

测试代码地址:HelloSpringBoot: SpringBoot测试项目

到此这篇关于SpringBoot利用jpa连接MySQL数据库的文章就介绍到这了,更多相关SpringBoot连接MySQL内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

SpringBoot利用jpa连接MySQL数据库的方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

SpringBoot利用jpa连接MySQL数据库的方法

这篇文章主要介绍了SpringBoot利用jpa连接MySQL数据库的方法,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2022-11-13

SpringBoot连接MYSQL数据库并使用JPA进行操作

今天给大家介绍一下如何SpringBoot中连接Mysql数据库,并使用JPA进行数据库的相关操作。步骤一:在pom.xml文件中添加MYSQl和JPA的相关Jar包依赖,具体添加位置在dependencies中,具体添加的内容如下所示。<
2023-05-31

springboot用jedis连接Redis数据库的方法

本篇内容介绍了“springboot用jedis连接Redis数据库的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!springboot
2023-06-20

php7连接mysql数据库的方法

这篇文章主要为大家展示了php7连接mysql数据库的方法,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“php7连接mysql数据库的方法”这篇文章吧。php有什么用php是一个嵌套的缩写名称,指
2023-06-06

详解springboot 使用c3p0数据库连接池的方法

使用springboot开发时,默认使用内置的tomcat数据库连接池,经常碰到这种情况:运行时间一长,数据库连接中断了。所以使用c3p0连接池吧。引入的maven依赖: c3p0
2023-05-31

SpringBoot 是怎样连接 MySql 数据库的

Spring Boot 是一款流行的 Java 开发框架,它可以轻松地连接各种类型的数据库,包括关系型数据库和非关系型数据库。本文将介绍 Spring Boot 是如何连接数据库的,包括其原理和代码示例。 一、Spring Boot 连接
2023-08-18

MySQL查看数据库连接数的方法

目录一、查看数据库连接数二、查看mysql数据库状态一、查看数据库连接数a)SQL:show full processlist;注意:1. 若不加上full选项,则最多显示100条记录2. 若以root帐号登录,你能看到所有用户的当前连
MySQL查看数据库连接数的方法
2024-08-20

win7上python2.7连接mysql数据库的方法

一:安装MySQL-python驱动pip install mysql二:连接到MySQL服务器的test数据库#!/usr/bin/python # -*- coding: UTF-8 -*-import mysql.connector
2022-06-04

编程热搜

目录