ormpp 项目教程

ormpp 项目教程

ormpp modern C++ ORM, C++17, support mysql, postgresql,sqlite ormpp 项目地址: https://gitcode.com/gh_mirrors/or/ormpp

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

ormpp 项目的目录结构如下:

ormpp/
├── CMakeLists.txt
├── LICENSE
├── README.md
├── codecov.yml
├── clang-format
├── gitignore
├── example/
├── frozen/
├── iguana/
├── lang/
│   └── english/
├── ormpp/
├── tests/
└── thirdparty/

目录结构介绍

  • CMakeLists.txt: 项目的 CMake 构建文件。
  • LICENSE: 项目的开源许可证文件,采用 Apache-2.0 许可证。
  • README.md: 项目的介绍文档,包含项目的基本信息、使用方法和示例代码。
  • codecov.yml: 代码覆盖率配置文件。
  • clang-format: 代码格式化配置文件。
  • gitignore: Git 忽略文件配置。
  • example/: 包含项目的示例代码,展示了如何使用 ormpp 进行数据库操作。
  • frozen/: 包含一些辅助工具和库。
  • iguana/: 包含 ormpp 的核心代码,负责实现 ORM 功能。
  • lang/: 包含项目的语言文件,目前只有英文。
  • ormpp/: 包含 ormpp 的主要代码文件,定义了数据库操作的接口和实现。
  • tests/: 包含项目的单元测试代码,用于测试 ormpp 的功能。
  • thirdparty/: 包含项目依赖的第三方库。

2. 项目的启动文件介绍

ormpp 项目的启动文件主要是 example/ 目录下的示例代码文件。这些文件展示了如何使用 ormpp 进行数据库的增删改查操作。

示例文件介绍

  • example/main.cpp: 这是主要的示例文件,展示了如何连接数据库、创建数据表、插入数据、查询数据等操作。
#include "dbng.hpp"
#include "mysql.hpp"
using namespace ormpp;

struct person {
    std::optional<int> age;
    std::string name;
    int id;
};

REGISTER_AUTO_KEY(person, id);
REGISTER_CONFLICT_KEY(person, name);
REFLECTION(person, id, name, age);

int main() {
    person p = {"test1", 2};
    person p1 = {"test2", 3};
    person p2 = {"test3", 4};
    std::vector<person> v{p1, p2};

    dbng<mysql> mysql;
    mysql.connect("127.0.0.1", "dbuser", "yourpwd", "testdb");
    mysql.create_datatable<person>(ormpp_auto_key["id"]);
    mysql.insert(p);
    mysql.insert(v);

    auto result = mysql.query_s<person>();
    for (auto &person : result) {
        std::cout << person.id << " " << person.name << " " << person.age << std::endl;
    }

    mysql.delete_records<person>();
    return 0;
}

3. 项目的配置文件介绍

ormpp 项目的配置文件主要包括 CMakeLists.txtclang-format

CMakeLists.txt

CMakeLists.txt 是项目的构建配置文件,定义了项目的构建规则和依赖项。

cmake_minimum_required(VERSION 3.10)
project(ormpp)

set(CMAKE_CXX_STANDARD 17)

add_subdirectory(ormpp)
add_subdirectory(example)
add_subdirectory(tests)

clang-format

clang-format 是代码格式化配置文件,定义了代码的格式化规则。

BasedOnStyle: Google
IndentWidth: 4
ColumnLimit: 120

通过这些配置文件,开发者可以方便地构建和格式化 ormpp 项目。

ormpp modern C++ ORM, C++17, support mysql, postgresql,sqlite ormpp 项目地址: https://gitcode.com/gh_mirrors/or/ormpp

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈革牧Perry

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值