首页>代码>spring boot+jfinal的ActiveRecordPlugin重新整合林业厅会议系统>/bf/src/main/java/com/example/bf/config/ActiveRecordPluginConfig.java
package com.example.bf.config;
import com.alibaba.druid.wall.WallFilter;
import com.example.bf.BfApplication;
import com.example.bf.entity._MappingKit;
import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
import com.jfinal.plugin.druid.DruidPlugin;
import com.jfinal.template.source.ClassPathSourceFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.sql.Connection;

/**
 * @author wgw
 * @date 2018/07/29 10:16
 */
@Configuration
public class ActiveRecordPluginConfig {

    @Value("${spring.datasource.username}")
    private String username;
    @Value("${spring.datasource.password}")
    private String password;
    @Value("${spring.datasource.url}")
    private String url;

    @Bean
    public ActiveRecordPlugin initActiveRecordPlugin() {

        DruidPlugin druidPlugin = new DruidPlugin(url, username, password);
        // 加强数据库安全
        WallFilter wallFilter = new WallFilter();
        wallFilter.setDbType("mysql");
        druidPlugin.addFilter(wallFilter);
        // 添加 StatFilter 才会有统计数据
        // druidPlugin.addFilter(new StatFilter());
        // 必须手动调用start
        druidPlugin.start();

        ActiveRecordPlugin arp = new ActiveRecordPlugin(druidPlugin);
        arp.setTransactionLevel(Connection.TRANSACTION_READ_COMMITTED);
        _MappingKit.mapping(arp);
        arp.setShowSql(false);

        arp.getEngine().setSourceFactory(new ClassPathSourceFactory());
        arp.addSqlTemplate("/sql/all_sqls.sql");
        // 必须手动调用start
        arp.start();
        return arp;
    }

    public static DruidPlugin getDruidPlugin () {
        ConfigurableApplicationContext context= SpringApplication.run(BfApplication.class);
        String username=context.getEnvironment().getProperty("spring.datasource.username");
        String password=context.getEnvironment().getProperty("spring.datasource.password");
        String url=context.getEnvironment().getProperty("spring.datasource.url");
        return new DruidPlugin(url, username, password);
    }
}
最近下载更多
wy4525  LV6 2022年8月12日
zhaoyangwfd  LV17 2022年3月31日
最呆萌呀  LV7 2022年3月13日
wanglinddad  LV55 2021年12月25日
893213895  LV18 2021年12月17日
敏敏  LV1 2021年12月9日
最代码-宋家辉  LV61 2021年10月6日
icesolitude  LV8 2021年7月7日
哆啦A梦伴我同行  LV10 2021年6月17日
wmm966520  LV5 2021年6月3日
最近浏览更多
heweimin  LV13 4月28日
admin_z  LV22 1月28日
lilong007  LV22 2023年12月30日
漫步的海星  LV4 2023年9月21日
暂无贡献等级
yshysh123 2023年9月20日
暂无贡献等级
泓鼎168  LV20 2023年8月31日
宇宙最强帅哥  LV1 2023年6月29日
neuwxr2015  LV8 2023年6月13日
skook7  LV2 2023年6月1日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友