网页链接
ActiveRecord是作为JFinal的Plugin而存在的,所以使用时需要在JFinalConfig中配置ActiveRecordPlugin。 以下是Plugin配置示例代码:
public class DemoConfig extends JFinalConfig {public void configPlugin(Plugins me) {
DruidPlugin dp = new DruidPlugin("jdbc:mysql://localhost/db_name", "userName", "password")
me.add(dp)
ActiveRecordPlugin arp = new ActiveRecordPlugin(dp)
me.add(arp)
arp.addMapping("user", User.class)
arp.addMapping("article", "article_id", Article.class)
}
}
解析连接地址: 如jdbc:mysql://
就知道是mysql
loadPropertyFile("druid.properties")DruidPlugin dp = new DruidPlugin(getProperty("url"), getProperty("username"), getProperty("password"),
getProperty("driverClassName"))
类似这种
比如常见的 配置JFinal的Handler, 配置LogHandler的处理器,Handler可以接管所有web请求, 这里可以做粗颗粒的处理, 对每一个请求做入库处理, 如果访问量大时, 入库 *** 作做列队处理就可以了.
细颗粒的, 如在JAVA代码中的 Log log = Log.getLog("JAVA类描述或类名")
这个一般做入库的还是少, 毕竟已经有很成熟的日志分析查看工具了, 可以直接查文件了.
如果业务需要做这个, 那也很简单:
1: 需要实现一个接口ILogFactory :
/*** JdkLogFactory.
*/
public class DbLogFactory implements ILogFactory {
public Log getLog(Class<?> clazz) {
return new DbLog(clazz)
}
public Log getLog(String name) {
return new DbLog(name)
}
}
2: DbLog 参考jfinal代码中 com.jfinal.log.Log4jLog 把这个类复制一下, 在每个方法中增加一个入库的 *** 作, 当然量大时, 入库 *** 作做列队处理就可以了.
3: 在JFinalConfig中:
@Overridepublic void configConstant(Constants me) {
//先启动数据库
ActiveRecordPlugin可以独立于java web 环境运行在任何普通的java程序中,使用方式极度简单,相对于web项目只需要手动调用一下其start() 方法即可立即使用。
//设置为你的工厂 DbLogFactory
me.setLogFactory(new DbLogFactory())
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)