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
部分内容借鉴了网络资料