说明
Solon 不像 Jfinal 提供了基础的数据库能力,是通过集成第三方的 ORM 来实现的,当然 Solon 家也有自己的 ORM(wood)。结合自己使用了多个 ORM 的情况,选择了无 XML 的 easy-query。虽然 Solon 也有 activerecord 的插件,但是 Jfinal 框架内,使用还是不够趁手。
个人确实比较喜欢 activerecord,后续也会补充对 easy-query 的扩展,比如继承 activerecord 的 sql 模版管理,基于 map 的 Model Bean。
这里使用的是 MySQL 数据库,其他数据库是类似的,切换对应的驱动即可。
创建模块
在 IDEA 中通过 File->New->Modules...
可以创建新的模块 demo-orm,基础代码和配置可以从demo01中拷贝过来,或者自己手动创建。
修改依赖
使用初始器创建项目,增加 web 和 easy-query 依赖,同时增加 swagger 依赖,并非必须,只是为了方便测试接口。
plugins {
id 'java'
id "io.freefair.lombok"
}
group = "com.example"
// 统一版本号
version "${demoVersion}"
description = "orm demo"
dependencies {
implementation platform(project(":demo-parent"))
implementation("org.noear:solon-web")
implementation("org.noear:solon-logging-logback")
implementation("org.noear:solon-openapi2-knife4j")
implementation("com.zaxxer:HikariCP")
implementation("mysql:mysql-connector-java")
implementation("com.easy-query:sql-solon-plugin")
annotationProcessor("org.mapstruct:mapstruct-processor:${mapstructVersion}")
// 生成 entityProxy
annotationProcessor("com.easy-query:sql-processor:${easyQueryVersion}")
testImplementation("org.noear:solon-test-junit5")
}
compileJava {
options.encoding = "UTF-8"
options.compilerArgs << "-parameters"
}
jar {