功能
@TableName
注解 Model 自动 Mapping 映射。
- 基于 Druid 的可执行 Sql 打印。
- 基于 Druid 的
DruidSqlDialect
,分页 sql 优化,支持多种数据库。
- Record 的
jackson
处理。
@Tx
注解的 JFinal ActiveRecord 事务。
- 可自定义
ActiveRecordPluginCustomizer
Bean,实现自定义扩展。
CodeGenerator
代码生成 markdown
格式数据字典。
ModelUtil
实现 Model、Record -> Bean 转换。
文档
jfinal ActiveRecord 文档:https://jfinal.com/doc/5-1
添加依赖
maven
<dependency> <groupId>net.dreamlu</groupId> <artifactId>mica-activerecord</artifactId> <version>${version}</version> </dependency>
|
配置
ActiveRecord
配置项 |
默认值 |
说明 |
mica.activerecord.dialect |
mysql |
方言,默认:mysql,注意:设置为 Druid 时采用 Ansi + druid 分页优化,支持多种数据库 |
mica.activerecord.auto-table-scan |
true |
自定表扫描 |
mica.activerecord.model-package |
|
模型的包路径 |
mica.activerecord.base-template-path |
|
sql 模板前缀 |
mica.activerecord.sql-templates |
|
sql 模板,支持多个 |
mica.activerecord.transaction-level |
|
事务级别,默认:不可重复读 |
Spring database(优先)
配置项 |
默认值 |
说明 |
spring.datasource.url |
|
数据库地址 |
spring.datasource.username |
|
数据库用户名 |
spring.datasource.password |
|
数据库密码 |
Druid
配置项 |
默认值 |
说明 |
mica.druid.url |
|
数据库地址 |
mica.druid.username |
|
数据库用户名 |
mica.druid.password |
|
数据库密码 |
mica.druid.show-sql |
true |
打印可执行 sql,默认为 true |
mica.druid.connection-init-sql |
|
|
mica.druid.connection-properties |
|
|
mica.druid.default-transaction-isolation |
|
|
mica.druid.driver-class |
|
|
mica.druid.filters |
|
|
mica.druid.initial-size |
1 |
|
mica.druid.keep-alive |
|
|
mica.druid.log-abandoned |
false |
|
mica.druid.max-active |
32 |
|
mica.druid.max-pool-prepared-statement-per-connection-size |
-1 |
|
mica.druid.max-wait |
-1 |
|
mica.druid.min-evictable-idle-time-millis |
1800000 |
|
mica.druid.min-idle |
10 |
|
mica.druid.public-key |
|
|
mica.druid.remove-abandoned |
false |
|
mica.druid.remove-abandoned-timeout-millis |
300000 |
|
mica.druid.test-on-borrow |
false |
|
mica.druid.test-on-return |
false |
|
mica.druid.test-while-idle |
true |
|
mica.druid.time-between-connect-error-millis |
30000 |
|
mica.druid.time-between-eviction-runs-millis |
60000 |
|
mica.druid.time-between-log-stats-millis |
|
|
mica.druid.validation-query |
select 1 |
|
mica.druid.validation-query-timeout |
|
|
代码生成
public class CodeGeneratorTest {
public static void main(String[] args) { CodeGenerator generator = CodeGenerator.create() .url("jdbc:mysql://127.0.0.1:3306/blog") .username("root") .password("12345678") .basePackageName("net.dreamlu.demo") .outputDir(PathKit.getWebRootPath()) .openDir() .build();
generator.setDialect(new MysqlDialect()); generator.setGenerateChainSetter(false); generator.addExcludedTable("adv"); generator.setGenerateDaoInModel(true); generator.setRemovedTableNamePrefixes("t_"); generator.generate(); }
}
|
示例:自定义 jFinal ActiveRecord Plugin 配置
@Configuration(proxyBeanMethods = false) public class MicaArpCustomConfiguration {
@Bean public ActiveRecordPluginCustomizer activeRecordPluginCustomizer() { return new ActiveRecordPluginCustomizer() { @Override public void customize(ActiveRecordPlugin arp) { System.out.println("----------------ActiveRecordPluginCustomizer-----------------"); arp.setDevMode(true); } }; }
}
|
微信 vs 公众号

精彩内容每日推荐!!!