多源数据库用例

# 一、多源配置(已配置) spirng-mybiats.xml config相关配置 # 二、多源数据库jbdc配置(拉取svn即可,已配置) ## c1 budget middle-database jdbc.budget.driverClassName=com.mysql.jdbc.Driver jdbc.budget.databaseUrl=jdbc:mysql://xxx:3306/c1_interface?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowMultiQueries=true jdbc.budget.username=xxx jdbc.budget.password=xxx # 三、多源数据库用例: ## 3.1.Dao层 概述:将dao类写到budgetDao目录下,自动实现多源数据配置到本目录下 ```java package com.epoch.customproject.cctv.budgetDao; import com.epoch.customproject.cctv.entiy.ToolDO; import org.springframework.stereotype.Repository; import java.util.List; /** * @Author: hecore * @Date: 2020/2/5 16:12 * @Description: */ @Repository public interface IToolDAO { /** * @param * @return */ List<ToolDO> queryList(); } ``` ## 3.2 实体类 ```java package com.epoch.customproject.cctv.entiy; import lombok.Data; /** * @Author: hecore * @Date: 2020/2/5 16:21 * @Description: */ @Data public class ToolDO { private Integer id; private String link; private String tool; private String desct; } ``` ## 3.3 Xml配置 xml需要配置在 resources目录下 使用 com.epoch.**.budgetDao.** 来做配置, 区别于系统默认的com.epoch.**.dao.** ```xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.epoch.customproject.cctv.budgetDao.IToolDAO"> <resultMap id="BaseResultMap" type="com.epoch.customproject.cctv.entiy.ToolDO"> <id column="ID" jdbcType="INTEGER" property="id" /> <result column="LINK" jdbcType="VARCHAR" property="link" /> <result column="TOOL" jdbcType="VARCHAR" property="tool" /> <result column="DESCT" jdbcType="VARCHAR" property="desct" /> </resultMap> <sql id="Base_Column_List"> ID,LINK,TOOL,DESCT </sql> <select id="queryList" resultMap="BaseResultMap"> select <include refid="Base_Column_List"/> from tool </select> </mapper> ``` ## 3.4 调用样例 可利用Controller直接调用测试 ```java package com.epoch.customproject.cctv.controller; import com.epoch.customproject.cctv.budgetDao.IToolDAO; import com.epoch.customproject.cctv.entiy.ToolDO; import com.epoch.customproject.cctv.service.quartz.CbsInfoServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; /** * @Author: hecore * @Date: 2019/12/2 11:34 * @Description: */ @RestController @RequestMapping("/cctv") public class CctvController { @Autowired private IToolDAO toolDao; @RequestMapping("/mul") public String mul(){ List<ToolDO> list=toolDao.queryList(); System.out.println("获取多源数据成功"+list.size()); return "mul"; } } ``` ## 3.4 测试结果 ``` Creating a new SqlSession SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@442c5841] was not registered for synchronization because synchronization is not active JDBC Connection [com.mysql.jdbc.JDBC4Connection@23adfae7] will not be managed by Spring ==> Preparing: select ID,LINK,TOOL,DESCT from tool ==> Parameters: <== Columns: ID, LINK, TOOL, DESCT <== Row: 1, http://www.baidu.com, 百度查询, null <== Total: 1 Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@442c5841] 获取多源数据成功1 ```