首页
/ SafeQL 项目教程

SafeQL 项目教程

2024-09-08 09:00:54作者:温艾琴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 执行的脚本,通常用于运行测试。

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

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

热门内容推荐

最新内容推荐

项目优选

收起
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
176
261
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
858
509
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
129
182
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
257
300
ShopXO开源商城ShopXO开源商城
🔥🔥🔥ShopXO企业级免费开源商城系统,可视化DIY拖拽装修、包含PC、H5、多端小程序(微信+支付宝+百度+头条&抖音+QQ+快手)、APP、多仓库、多商户、多门店、IM客服、进销存,遵循MIT开源协议发布、基于ThinkPHP8框架研发
JavaScript
93
15
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
331
1.08 K
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
397
370
note-gennote-gen
一款跨平台的 Markdown AI 笔记软件,致力于使用 AI 建立记录和写作的桥梁。
TSX
83
4
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.07 K
0
kernelkernel
deepin linux kernel
C
22
5