首页
/ SafeQL 项目教程

SafeQL 项目教程

2024-09-08 03:02:06作者:温艾琴Wonderful

1. 项目的目录结构及介绍

SafeQL 项目的目录结构如下:

SafeQL/
├── docs/
│   ├── project/
│   └── ...
├── src/
│   ├── main/
│   │   ├── scala/
│   │   └── ...
│   └── test/
│       ├── scala/
│       └── ...
├── .gitignore
├── .scala-steward.conf
├── .travis.yml
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── LICENSE
├── README.md
├── build.sbt
└── ...

目录结构介绍

  • docs/: 包含项目的文档文件,通常用于存放项目文档和教程。
  • src/: 项目的源代码目录,包含主要的代码文件。
    • main/scala/: 存放主要的 Scala 代码文件。
    • test/scala/: 存放测试代码文件。
  • .gitignore: Git 忽略文件,用于指定不需要版本控制的文件和目录。
  • .scala-steward.conf: Scala Steward 配置文件,用于自动化依赖管理和更新。
  • .travis.yml: Travis CI 配置文件,用于持续集成和自动化测试。
  • CHANGELOG.md: 项目变更日志,记录项目的版本更新和变更内容。
  • CODE_OF_CONDUCT.md: 项目的行为准则,规定了项目参与者的行为规范。
  • LICENSE: 项目的开源许可证文件。
  • README.md: 项目的介绍文件,通常包含项目的概述、安装和使用说明。
  • build.sbt: 项目的 SBT 构建配置文件。

2. 项目的启动文件介绍

SafeQL 项目的启动文件通常位于 src/main/scala/ 目录下。具体启动文件的名称和路径可能因项目的具体实现而有所不同。以下是一个示例启动文件的介绍:

// src/main/scala/com/company/db/Main.scala

package com.company.db

import fr.loicknuchel.safeql.gen.Generator
import fr.loicknuchel.safeql.gen.writer.ScalaWriter

object Main {
  def main(args: Array[String]): Unit = {
    // 生成数据库表类
    Generator.flyway("classpath:sql_migrations")
      .writer(ScalaWriter(packageName = "com.company.db"))
      .generate()
      .unsafeRunSync()

    // 执行查询
    USERS.insert.values(UserId(4), "Lou", "lou@mail.com").run(xa).unsafeRunSync()
    USERS.update.set(_.NAME, "LouLou").set(_.EMAIL, "loulou@mail.com").where(_.ID is UserId(4)).run(xa).unsafeRunSync()
  }
}

启动文件介绍

  • Main.scala: 项目的启动文件,包含主要的业务逻辑和数据库操作。
  • Generator: 用于生成数据库表类的工具。
  • ScalaWriter: 用于将生成的表类写入指定包路径。
  • USERS: 生成的数据库表类,用于执行 SQL 查询。

3. 项目的配置文件介绍

SafeQL 项目的配置文件主要包括 build.sbt.travis.yml。以下是这两个配置文件的介绍:

build.sbt

// build.sbt

name := "SafeQL"

version := "0.1.3"

scalaVersion := "2.12.10"

libraryDependencies += "fr.loicknuchel" %% "safeql" % "0.1.3"

配置文件介绍

  • name: 项目的名称。
  • version: 项目的版本号。
  • scalaVersion: 项目使用的 Scala 版本。
  • libraryDependencies: 项目的依赖库配置,指定 SafeQL 库的版本。

.travis.yml

# .travis.yml

language: scala

scala:
  - 2.12.10

script:
  - sbt test

配置文件介绍

  • language: 指定项目使用的编程语言。
  • scala: 指定项目使用的 Scala 版本。
  • script: 指定 Travis CI 执行的脚本,通常用于运行测试。

通过以上配置文件,可以确保项目在开发和测试过程中的一致性和自动化。

登录后查看全文
热门项目推荐

热门内容推荐

最新内容推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
22
6
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
154
1.98 K
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
509
44
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
8
0
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
194
279
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
992
395
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
941
554
communitycommunity
本项目是CANN开源社区的核心管理仓库,包含社区的治理章程、治理组织、通用操作指引及流程规范等基础信息
345
11
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
146
191
金融AI编程实战金融AI编程实战
为非计算机科班出身 (例如财经类高校金融学院) 同学量身定制,新手友好,让学生以亲身实践开源开发的方式,学会使用计算机自动化自己的科研/创新工作。案例以量化投资为主线,涉及 Bash、Python、SQL、BI、AI 等全技术栈,培养面向未来的数智化人才 (如数据工程师、数据分析师、数据科学家、数据决策者、量化投资人)。
Python
75
70