jfinal-tablebind 是一个支持多数据源的表model映射工具

https://github.com/Dreampie/jfinal-tablebind  自动映射表和实体:

<dependency>
      <groupId>cn.dreampie</groupId>
      <artifactId>jfinal-tablebind</artifactId>
      <version>${jfinal-tablebind.version}</version>
 </dependency>

目前刚刚发布第一个版本0.1:

<jfinal-tablebind.version>0.1</jfinal-tablebind.version>

jfinal config使用:

//配置druid连接池
    DruidPlugin druidDefault = new DruidPlugin(getProperty("db.default.url"), getProperty("db.default.user"), getProperty("db.default.password"), getProperty("db.default.driver"));
    // StatFilter提供JDBC层的统计信息
    druidDefault.addFilter(new StatFilter());
    // WallFilter的功能是防御SQL注入攻击
    WallFilter wallDefault = new WallFilter();
    wallDefault.setDbType("h2");
    druidDefault.addFilter(wallDefault);

    druidDefault.setInitialSize(getPropertyToInt("db.default.poolInitialSize"));
    druidDefault.setMaxPoolPreparedStatementPerConnectionSize(getPropertyToInt("db.default.poolMaxSize"));
    druidDefault.setTimeBetweenConnectErrorMillis(getPropertyToInt("db.default.connectionTimeoutMillis"));
    plugins.add(druidDefault);

    //Model自动绑定表插件
    TableBindPlugin tableBindDefault = new TableBindPlugin(druidDefault, SimpleNameStyles.LOWER);
    tableBindDefault.setContainerFactory(new CaseInsensitiveContainerFactory(true)); //忽略字段大小写
//    tableBindDefault.addExcludePaths("cn.dreampie.function.shop");
    tableBindDefault.setShowSql(getPropertyToBoolean("devMode", false));
    //非mysql的数据库方言
    tableBindDefault.setDialect(new AnsiSqlDialect());
    plugins.add(tableBindDefault);

如果是多数据源,创建两个DruidPlugin和TableBindPlugin

tableBindDefault.addExcludePaths("cn.dreampie.function.shop"); //排除不属于default数据源的实体
tableBindDefault.addIncludePaths("cn.dreampie.function.default");//导入属于default数据源的实体

多个数据源时  创建多个DruidPlugin和TablebindPlugin来排除或导入跟自己相关的model的目录,支持实体文件在jar中

@TableBind(tableName = "sec_user") //model注解

https://github.com/Dreampie?tab=repositories 目录下有多款插件:

cn.dreampie.jfinal-shiro     https://github.com/Dreampie/jfinal-shiro    shiro插件

cn.dreampie.jfinal-shiro-freemarker   https://github.com/Dreampie/jfinal-shiro-freemarker    shiro插件实现的freemarker标签库

cn.dreampie.jfinal-web     https://github.com/Dreampie/jfinal-web   相关web插件,简洁model实现

cn.dreampie.jfinal-utils        https://github.com/Dreampie/jfinal-utils   部分jfinal工具

cn.dreampie.jfinal-tablebind        https://github.com/Dreampie/jfinal-tablebind   jfinal的table自动绑定插件,支持多数据源

cn.dreampie.jfinal-flyway      https://github.com/Dreampie/jfinal-flyway   数据库脚本升级插件,开发中升级应用时,使用脚本同步升级数据库或者回滚

cn.dreampie.jfinal-captcha      https://github.com/Dreampie/jfinal-captcha   基于jfinal render的超简单验证吗插件

cn.dreampie.jfinal-quartz       https://github.com/Dreampie/jfinal-quartz   基于jfinal 的quartz管理器

cn.dreampie.jfinal-sqlinxml      https://github.com/Dreampie/jfinal-sqlinxml   基于jfinal 的类似ibatis的sql语句管理方案

cn.dreampie.jfinal-lesscss       https://github.com/Dreampie/jfinal-lesscss   java实现的lesscsss实时编译插件,可以由于jfinal

cn.dreampie.jfinal-coffeescript     https://github.com/Dreampie/jfinal-coffeescript   java实现的coffeescript实时编译插件,可以由于jfinal 

cn.dreampie.jfinal-akka    https://github.com/Dreampie/jfinal-akka   java使用akka执行异步任务

cn.dreampie.jfinal-mailer       https://github.com/Dreampie/jfinal-mailer   使用akka发布邮件的jfinal插件

cn.dreampie.jfinal-slf4j     https://github.com/Dreampie/jfinal-slf4j   让jfinal使用slf4j的日志api

部分内容借鉴了网络资料


你可能感兴趣的:(java,dataSource,jFinal,tablebind)