博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring jdbc 多数据源 同时各自操作表
阅读量:6581 次
发布时间:2019-06-24

本文共 3589 字,大约阅读时间需要 11 分钟。

  hot3.png

首先在 spring-mvc.xml里加上 2个数据源:

<bean id="palm_VcCenter"

        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver" />
        <property name="url"
            value="jdbc:mysql://192.168.1.22:3306/gd?characterEncoding=UTF-8" />
        <property name="username" value="root" />
        <property name="password" value="root" />
    </bean>
    <bean id="net_template" class="org.springframework.jdbc.core.JdbcTemplate">
        <property name="dataSource">
            <ref local="palm_VcCenter" /><!-- 获取数据源连接池配置 -->
        </property>
    </bean>
    <bean id="palm2_VcCenter"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver" />
        <property name="url"
            value="jdbc:mysql://127.0.0.1:3306/test?characterEncoding=UTF-8" />

        <property name="username" value="root" />
        <property name="password" value="root" />
    </bean>
    <bean id="local_template" class="org.springframework.jdbc.core.JdbcTemplate">
        <property name="dataSource">
            <ref local="palm2_VcCenter" /><!-- 获取数据源连接池配置 -->
        </property>
    </bean>   

然后在control 或其他代码里加上

例子如下:

package task;

import org.springframework.scheduling.annotation.Scheduled;

import org.springframework.stereotype.Component;

import com.alibaba.fastjson.JSON;

import com.cn.dev.pojo.User;

import javax.annotation.Resource;

import org.apache.log4j.Logger;

import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import com.alibaba.fastjson.JSON;
import java.util.Map;

@RunWith(SpringJUnit4ClassRunner.class) // 表示继承了SpringJUnit4ClassRunner类
@ContextConfiguration(locations = { "classpath:spring-mybatis.xml" })
@Component("DevJob")
@Configuration
@PropertySource({ "classpath:config.properties" })
public class DevJob {

    private static Logger logger = Logger.getLogger(DevJob.class);

    //第一个数据源
    @Resource(name = "net_template")
    private JdbcTemplate nettemplate;
    //第二个数据源
    @Resource(name = "local_template")
    private JdbcTemplate localtemplate;

    /*

     * @Scheduled(cron = "0/20 * * * * ?")//每隔5秒隔行一次 public void test1() { //
     * System.out.println("job1 开始执行"); }
     */
    @Scheduled(cron = "0 0/1 * * * ?") // 每隔1分钟隔行一次
    public void runjob() {
        System.out.println("job2 开始执行");
        //User user = userService.findById(1);
        //logger.info(JSON.toJSONString(user));
        execimport();

    }

    @Test

    public void execimport() {

        String sql1 = "select * from tb_train";

        String sql2 = "select * from tb_user";
        //将数据源传入函数
        loadAfid(sql1, nettemplate);
        loadAfid(sql2, localtemplate);
        try {

        } catch (Exception e) {

            e.printStackTrace();
        }
    }

    public void loadAfid(String sql, JdbcTemplate template) {

        java.util.List<Map<String, Object>> list = template.queryForList(sql);

        System.out.println("===========================");

        for (Map<String, Object> map : list) {
            for (Map.Entry<String, Object> m : map.entrySet()) {
                System.out.print(m.getKey() + "    ");
                System.out.println(m.getValue());
            }
        }
        System.out.println("==========================");
        /*
         * for(Map<String, Object> map : list) {
         *
         * System.out.println(map.get("id")); System.out.println("------------------");
         *
         * }
         */

    }

}

转载于:https://my.oschina.net/mellen/blog/1581736

你可能感兴趣的文章
ORACLE 存储过程异常捕获并抛出
查看>>
root用户重置其他密码
查看>>
Oracle推断值为非数字
查看>>
多年前写的一个ASP.NET网站管理系统,到现在有些公司在用
查看>>
vue-cli中理不清的assetsSubDirectory 和 assetsPublicPath
查看>>
从JDK源码角度看Short
查看>>
五年 Web 开发者 star 的 github 整理说明
查看>>
Docker 部署 SpringBoot 项目整合 Redis 镜像做访问计数Demo
查看>>
中台之上(五):业务架构和中台的难点,都是需要反复锤炼出标准模型
查看>>
inno setup 打包脚本学习
查看>>
php 并发控制中的独占锁
查看>>
React Native 0.20官方入门教程
查看>>
JSON for Modern C++ 3.6.0 发布
查看>>
我的友情链接
查看>>
监听在微信中打开页面时的自带返回按钮事件
查看>>
第一个php页面
查看>>
世界各国EMC认证大全
查看>>
最优化问题中黄金分割法的代码
查看>>
在JS中使用Ajax
查看>>
Jolt大奖获奖图书
查看>>