業務場景:
當一個公司大了之后就會將各種業務進行分開,最簡單的就是例如:公司的機構表,那么就會將他們分成開來,那么就會在一個實例中,
如果要獲取相關信息就會去關聯這張表進行關聯查詢
從而導致了跨庫關聯多表查詢:
首先看sql:
select f.id as id, m.name as name from fr_db.person f left join mall.person_test m on f.id =m.pid where f.id = #{id,jdbcType=INTEGER}
這個是在mybatis.xml文件的進行的,可以看到我是從一個實例中進行查詢的,
數據庫一 fr_db 數據庫二: mall表:
這個只是一個測試案例,沒有按照公司的表進行分離,
可以看到上面是兩個庫,所以就可以知道,是進行跨庫查詢
可以看到我yml文件配置:
spring: datasource: driver-class-name: com.mysql.jdbc.Driver url : jdbc:mysql://127.0.0.1:3306/fr_db?zeroDateTimeBehavior=convertToNull&autoReconnect=true&useUnicode=true&characterEncoding=utf-8 password: 1234 username: root #mybatis mybatis: type-aliases-package: com.cxy.dataObject #實體類映射文件包 mapper-locations: classpath:mapping/*.xml #生成的sql語句 server: port: 8082
再進行測試:
可以看到相關內容
name是mall庫中的name:
可以看到name為a,
可以看到person表中name並不是為a,所以就可以進行