# jfinal-ext-scan **Repository Path**: wangxianl/jfinal-ext-scan ## Basic Information - **Project Name**: jfinal-ext-scan - **Description**: 该项目提供一个自动扫描controller的routes和一个自动扫描model的插件. - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 10 - **Forks**: 0 - **Created**: 2017-07-21 - **Last Updated**: 2021-08-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #jfinal-ext-scan 该项目提供一个自动扫描controller的routes和一个自动扫描model的插件. ##使用说明: ### AutoBindRoutes:自动绑定路由插件 **使用方法:在配置类中绑定,并在要扫描的的controller中添加注解** ``` public class MyConfig extends JFinalConfig { ... @Override public void configRoute(Routes routes) { //扫描的包为com,baseViewPath为pages routes.add(new AutoBindRoutes("com","pages")); } ... } @JAction("/a") public class AController extends Controller { } @JAction(value = "/b",viewPath = "bView") public class BController extends Controller { } ``` ``` //上述代码相当于做了以下操作: routes.setBaseViewPath("pages"); routes.add("/a", AController.class); routes.add("/b", BController.class,"bView"); ``` ### ScanTablePluigin:自动扫描数据库表插件 **使用方法:在配置类中添加注解,并在要扫描的model上添加注解** ``` public class MyConfig extends JFinalConfig { ... @Override public void configPlugin(Plugins plugins) { //连接池插件 DruidPlugin dp = new DruidPlugin(PropKit.get("mysql.url"), PropKit.get("mysql.userName"), PropKit.get("mysql.password")); plugins.add(dp); //db操作插件 ActiveRecordPlugin arp = new ActiveRecordPlugin(dp); arp.setShowSql(PropKit.getBoolean("mysql.showSql")); //扫描映射关系 默认的dbName为default-db //该插件需要在arp插件添加之前,否则扫描不到model ScanTablePluigin scanTablePluigin = new ScanTablePluigin(arp, "com"); //设置基础sql路径 scanTablePluigin.setBaseSqlTemplatePath(PathKit.getRootClassPath()); plugins.add(scanTablePluigin); //最后添加arp插件 plugins.add(arp); } ... } //默认"id"为主键 @JTable("indexnav") public class IndexNav extends Model { } //以id1为主键 @JTable(value = "user",id = "id1") public class User extends Model { } //上述代码相当于做了以下操作: arp.addMapping("indexnav", IndexNav.class); arp.addMapping("user","id1", User.class); ``` ``` //设置sql管理 @JTable(value = "user", sqlTemplate = "sql/index/nav.sql") public class User extends Model { } //以上代码加载了sql文件: sql/index/nav.sql(在Config类中设置baseSqlTemplatePath,默认为项目类根路径) ``` ##安装说明: 1. 下载源码后导入为maven项目 2. 执行maven命令install,获取的jar包 3. 放入jfinal项目使用