设为首页 加入收藏

TOP

quarkus数据库篇之一:比官方demo更简单的基础操作(一)
2023-08-26 21:11:08 】 浏览:68
Tags:quarkus demo 简单的

欢迎访问我的GitHub

这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos

关于《数据库篇》

  • 《quarkus数据库篇》系列是《quarkus实战》的子系列,目标是与大家一起在quarkus框架下完成常用的数据库操作,如配置、增删改查、事物等

本篇概览

  • 本篇敢号称比官方demo更简单,是因为官方关于操作数据库的demo中还有web服务的代码(如接收http请求和响应,以及web库的依赖),而本篇不会有这些代码和依赖,只有存粹的数据库操作和对应的单元测试类,至于web服务?欣宸应该会出《quarkus之web篇》吧(如果时间允许)

  • 作为《数据库篇》的开篇,为了避免长文劝退大多数人的悲剧发生,本文被死死压制在Hello World级别,咱们用最简单的配置和代码完成数据库的增删改查操作,掌握quarkus下基本数据库操作全掌握,然后在后续文章中逐步深入,整体上就是一次从入门到精通之旅

  • 本篇的具体内容是创建一个maven工程,此工程有内容是

  1. 一个单表的实体类
  2. 实体类对应的service类,提供单表增删改查的API
  3. service类对应的单元测试类,一共就这些内容
  • 来看看实际的文件和位置,如下图
image-20220514115608338
  • 没错,这个工程就这么简单,官方demo好歹还做了web接口,可以用postman做增删改查的测试,在本篇中这些统统砍掉,只有service层及其单元测试类

环境和版本信息

  • 电脑:MacBook Pro M1,macOS Monterey
  • jdk:11.0.14.1
  • maven:3.8.5
  • quarkus:与《quarkus实战》系列保持一致,依旧是2.7.3.Final
  • 数据库:使用PostgreSQL,版本13.3

源码下载

名称 链接 备注
项目主页 https://github.com/zq2599/blog_demos 该项目在GitHub上的主页
git仓库地址(https) https://github.com/zq2599/blog_demos.git 该项目源码的仓库地址,https协议
git仓库地址(ssh) git@github.com:zq2599/blog_demos.git 该项目源码的仓库地址,ssh协议
  • 这个git项目中有多个文件夹,本次实战的源码在quarkus-tutorials文件夹下,如下图红框
    image-20220312091203116
  • quarkus-tutorials是个父工程,里面有多个module,本篇实战的module是basic-db,如下图红框
    image-20220504102912592

确认数据库已就绪

  • 请确认PostgreSQL数据库已经就绪

  • 开发阶段推荐用docker部署数据库,简单省事儿,参考命令如下,请将/xxx换为您自己的宿主机目录,用于保存数据库文件

docker run \
--name quarkus_test \
-e POSTGRES_USER=quarkus \
-e POSTGRES_PASSWORD=123456 \
-e POSTGRES_DB=quarkus_test \
-p 5432:5432 \
-v /xxx:/var/lib/postgresql/data \
postgres:13.3
  • 需要在PostgreSQL提前创建名为quarkus_test的数据库,不用建表
  • 在开发过程中可能要连上数据库查看数据,请自行准备客户端工具(命令行也行),我这里用的是IDEA自带的数据库工具,如下图,已连上PostgreSQL的quarkus_test数据库,里面空空如也

image-20220504105123321

新建maven子工程basic-db

  • 在父工程quarkus-tutorials下面新建名为basic-db的子项目,其pom.xml内容如下,重点是JDBC、hibernate、postgresql这三个和数据库有关的库
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>quarkus-tutorials</artifactId>
        <groupId>com.bolingcavalry</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>basic-db</artifactId>
    <dependencies>
        <dependency>
            <groupId>io.quarkus</groupId>
            <artifactId>quarkus-arc</artifactId>
        </dependency>
        <!-- JDBC库 -->
        <dependency>
            <groupId>io.quarkus</groupId>
            <artifactId>quarkus-agroal</artifactId>
        </dependency>
        <!-- hibernate库 -->
        <dependency>
            <groupId>io.quarkus</groupId>
            <artifactId>quarkus-hibernate-orm</artifactId>
        </dependency>
        <!-- postgresql库 -->
        <dependency>
            <groupId>io.quarkus</groupId>
            <artifactId>quarkus-jdbc-postgresql</artifactId>
        </dependency>
        <!-- 单元测试库 -->
        <dependency>
            <groupId>io.quarkus</groupId>
            <artifactId>
首页 上一页 1 2 3 4 下一页 尾页 1/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇聊聊JDK1.0到JDK20的那些事儿 下一篇Nacos源码 (3) 注册中心

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目