jfinal-ext3

介绍

jfinal-ext3,源自jfinal-ext,jfinal-ext2,基于jfinal3.x,扩展了很多特性。

使用

<dependency>
    <groupId>com.jfinal</groupId>
    <artifactId>jfinal-ext3</artifactId>
    <version>${new_version}</version>
</dependency>

特性说明

配置说明
  • 主要就是conf/jf-app-cfg.conf(以下简称”配置文件“)的配置说明

  • 配置文件可以很方便的配置:多数据源、redis、modelGenerator

  • 数据源配置:

    • db.ds:数据源配置属性,数据格式为:以英文,分割的多数据源简称,如db.ds=mysql,oracle,other。这里的数据源简称可以任意起名,与其他关联属性配合即可。以下以db.ds=mysql举例;

    • db.mysql.active:数据源是否激活属性,取值true或false。true表示对应的数据源激活,false表示对应的数据源未激活;

    • db.mysql.url:数据源URL属性。根据不同的数据库对应的URL不一样;

    • db.mysql.user:数据源用户名;

    • db.mysql.password:数据源密码;

    • db.mysql.password.pkey:数据源加密publickey。通过 java -cp druid-xx.jar com.alibaba.druid.filter.config.ConfigTools your_password可以获取publickey;(详看这里)

    • db.mysql.initsize:数据源初始连接池;

    • db.mysql.maxsize:数据源最大活跃连接数;

    • db.showsql:时候答应SQL,true打印,false不打印,此属性对所有数据库将全部生效。

  • redis配置

    • redis.cs:redis的多实例配置,数据格式与db.ds类似,以英文,分割的多缓存实例简称,如redis.cs=mainCache,slaveCache,other。这里的缓存实例简称可以任意起名,与其他关联属性配合即可。以下以redis.cs=mainCache举例;

    • redis.mainCache.active:redis实例时候激活,取值true或false。true表示对应redis实例激活,false表示对应redis实例未激活;

    • redis.mainCache.host:redis实例的host,默认为localhost;

    • redis.mainCache.port:redis实例的端口,默认为6379;

    • redis.mainCache.password:redis实例的密码;

    • redis.mainCache.tables:redis映射的数据库表,以英文,分割的数据库表(注意大小写)(下面会重点讲解redis.mainCache.tables的使用).

  • modelGenerator配置(以下会详细讲解如何使用Ge)

    • ge.dict:是否生成数据词典,取值true或false。true表示生成,false表示不生成;

    • ge.model.dao:是否生成model的dao实例,取值true或false。true表示生成,false表示不生成;

    • ge.mappingkit.classname:mappingkit的classname,可自定义,如MappingKit。jfinal-ext3不根据不同的数据源,生成多个ge.mappingkit.classname对应的mappingkit文件。假设ge.mappingkit.classname=MappingKit,db.ds=mysql,则生成的mappingkit文件为MYSQLMappingKit.java。

    • ge.base.model.outdir:生成的BaseModel的存放位置,如:./src/cn/zcqq/base/model;

    • ge.base.model.package:生成的BaseModel的包名,如:cn.zcqq.base.model;

    • ge.model.outdir:生成的Model的存放位置,如:./src/cn/zcqq/model;

    • ge.model.package:生成Model的包名,如:cn.zcqq.model。

  • 其他配置

    • app.dev:是否为debug模式,取值true:debug模式,false:生产模式;

    • app.post:所有的请求是否都使用POST拦截,取值true:POST拦截,false:依据Controller定义;

    • app.name: 应用名字配置。

redis配置详解(redis.mainCache.tables)

  • jfinal-ext3:使用ModelExt扩展了Model;

  • 使用jfinal-ext3的Ge生产的BaseModel默认extends ModelExt,以此使用ModelExt的扩展功能;

    • 使用syncToRedis来将db操作同步到redis;

    • save,delete,update,find操作,透明同步到redis;

    • 结合ModelRedisPlugin和jf-app-cfg.conf,把redis.*.tables的数据库表与对应的redis实例透明映射;

    • 使用者可以在使用中修改使用setCacheName来修改redis实例;注意:一旦手动设置setCacheName,那么syncToRedis将自动开启;

    • 具体使用可查看Test

    • ModelExt的扩展功能

Ge的使用

  • 配置好jf-app-cfg.conf的db部分;

  • 右击项目Debug As->Debug Configurations,双击左侧的Java Application,在右侧的Main class下写入com.jfinal.ext.ge.Ge,然后点击右下角的Debug按钮即可。