独立使用JFinal中操作数据库的方法——ActiveRecord + Druid

需要三个包:

  1. druid-1.1.8.jar
  2. jfinal-3.5-bin.jar
  3. mysql-connector-java-5.1.46.jar

 

首先,我们需要一个当TomCat启时就运行的java类来 “初始化” ActiveRecord

 在web.xml种添加如下配置

<!-- 初始化ActiveRecord  -->
   <servlet>
     <servlet-name>ActiveRecord</servlet-name>
     <servlet-class>com.soft.active_record.ActiveRecord</servlet-class>
     <!-- 程序启动后就会执行  -->
     <load-on-startup>1</load-on-startup>
  </servlet>

编写java类 

 

package com.soft.active_record;

/**
 * 初始化ActiveRecord
 */

import javax.servlet.http.HttpServlet;
import com.jfinal.kit.PropKit;
import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
import com.jfinal.plugin.activerecord.dialect.MysqlDialect;
import com.jfinal.plugin.druid.DruidPlugin;

public class ActiveRecord extends HttpServlet {

    private static final long serialVersionUID = 2311438868270668790L;

    public void init() {
        System.err.println("==========ActiveRecord初始化开始");
        PropKit.use("config.properties");
        DruidPlugin dbPlugin = new DruidPlugin(PropKit.get("jdbcUrl"), PropKit.get("user"), PropKit.get("password"));
        dbPlugin.setFilters("stat"); //如果没有这一步将无法使用druid查看执行的SQL
        dbPlugin.setDriverClass("com.mysql.jdbc.Driver");

        ActiveRecordPlugin arp = new ActiveRecordPlugin(dbPlugin);
        arp.setShowSql(PropKit.getBoolean("devMode"));
        arp.setDialect(new MysqlDialect());

        dbPlugin.start();
        arp.start();
        System.err.println("==========ActiveRecord初始化结束");
    }
}
 

 

在 src 下建立 config.properties 文件


dbType=mysql
jdbcUrl = jdbc:mysql://127.0.0.1:3306/school?characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull
user = root
password =root
devMode =true
 

 

在web.xml 中添加druid配置

  
  <!--连接池启用Web监控统计功能start -->
  <filter>
        <filter-name>DruidWebStatFilter</filter-name>
        <filter-class>com.alibaba.druid.support.http.WebStatFilter</filter-class>
        <init-param>
            <param-name>exclusions</param-name>
            <param-value>*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>DruidWebStatFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    
  <!-- 配置 Druid-->
<servlet>
<servlet-name>DruidStatView</servlet-name>
<servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>
        <init-param>
            <!-- 不允许清空统计数据 -->
            <param-name>resetEnable</param-name>
            <param-value>false</param-value>
        </init-param>

</servlet>
 
 <!-- Druid 访问路径 -->
<servlet-mapping>     
   <servlet-name>DruidStatView</servlet-name>  
   <url-pattern>/druid/*</url-pattern>  
 </servlet-mapping>

 

 

完整的web.xml如下

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>test_JFinalActiveRecord</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
  </welcome-file-list>
  

<!-- 初始化ActiveRecord  -->
   <servlet>
   <servlet-name>ActiveRecord</servlet-name>
   <servlet-class>com.soft.active_record.ActiveRecord</servlet-class>
   <!-- 程序启动后就会执行  -->
   <load-on-startup>1</load-on-startup>
  </servlet>
 
  
  <!--连接池启用Web监控统计功能start -->
  <filter>
        <filter-name>DruidWebStatFilter</filter-name>
        <filter-class>com.alibaba.druid.support.http.WebStatFilter</filter-class>
        <init-param>
            <param-name>exclusions</param-name>
            <param-value>*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>DruidWebStatFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    
  <!-- 配置 Druid-->
<servlet>
<servlet-name>DruidStatView</servlet-name>
<servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>
        <init-param>
            <!-- 不允许清空统计数据 -->
            <param-name>resetEnable</param-name>
            <param-value>false</param-value>
        </init-param>

</servlet>
 
 <!-- Druid 访问路径 -->
<servlet-mapping>     
   <servlet-name>DruidStatView</servlet-name>  
   <url-pattern>/druid/*</url-pattern>  
 </servlet-mapping>

 <!-- http://localhost:8080/test_JFinalActiveRecord/druid/sql.html -->
</web-app>
 

 

独立使用JFinal中操作数据库的方法——ActiveRecord + Druid

独立使用JFinal中操作数据库的方法——ActiveRecord + Druid