SSM004--工作内容

Posted kaixinyufeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSM004--工作内容相关的知识,希望对你有一定的参考价值。

一。java执行sql脚本

参考博客:java调用SQL脚本执行的方案

1.Service层代码:目的随spring容器启动即执行

技术分享图片
//Service层代码
@Component
public class InitCfcaDB {
    final org.slf4j.Logger log = LoggerFactory.getLogger(getClass());
    @PostConstruct
    public void init(){
        log.debug("初始化表结构....");
        CfcaDbUtil.run();
    }
}
View Code

2.util工具类

技术分享图片
package com.csvalue.utils;

import com.csvalue.common.PropertiesUtils;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.jdbc.ScriptRunner;

import java.sql.Connection;
import java.sql.DriverManager;

/*
* 初始化表结构
* */
public final class CfcaDbUtil {
    public static final String driver = PropertiesUtils.getDBProperty("jdbc.driver");
    public static final String url = PropertiesUtils.getDBProperty("jdbc.url");
    public static final String username = PropertiesUtils.getDBProperty("jdbc.username");
    public static final String userpwd = PropertiesUtils.getDBProperty("jdbc.userpwd");

    public static void run(){
        try {
            Class.forName(driver);
            //建立连接
            Connection connection=DriverManager.getConnection(url,username,userpwd);
            //创建ScriptRunner,用于执行SQL脚本
            ScriptRunner scriptRunner=new ScriptRunner(connection);
            scriptRunner.setErrorLogWriter(null);
            scriptRunner.setLogWriter(null);
            //执行sql脚本
            scriptRunner.runScript(Resources.getResourceAsReader("sql/"+"filename"+".sql"));
            connection.close();//关闭连接
            System.out.println("=====success=========");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args){
        run();
    }
}
View Code

3.加载属性配置文件

技术分享图片
package com.csvalue.common;

import java.util.ResourceBundle;

//加载属性配置文件
public class PropertiesUtils {

    private static ResourceBundle resource;
    private static ResourceBundle resourceDB;

    static{
        //读取配置文件 config 为文件名
        resource = ResourceBundle.getBundle("properties/config");
        resourceDB=ResourceBundle.getBundle("properties/jdbc");
    }

    /**
     * 提供外部访问的方法
     * @param key
     * @return
     */
    public static String getProperty(String key){
        //以String格式返回 key 对应的 value
        return resource.getString(key);
    }

    public static String getDBProperty(String key){
        //以String格式返回 key 对应的 value
        return resourceDB.getString(key);
    }

    public static void main(String[] args){
        //读取制定的key
        String config = PropertiesUtils.getProperty("cfca.url");
        System.out.println(config);
        String url=PropertiesUtils.getDBProperty("jdbc.url");
        System.out.println(url);
    }
}
View Code

4.属性文件jdb.properties

技术分享图片
#数据库连接配置信息
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mysql
jdbc.username=root
jdbc.userpwd=shiyufeng
View Code

启动java web项目,即执行。

 

以上是关于SSM004--工作内容的主要内容,如果未能解决你的问题,请参考以下文章

工作流引擎Flowable的低代码试验之路--004 架构设计

NPOI操作Excel 004:写入空Excel(添加保存提示框)

Redis2.6源代码走读第004课:字典的实现03

C语言工作中容易忽视的问题

-004完整代码

VUE-004-禁止修改页面显示项,设置el-input,textarea只读方法