以下是案例:
我有两mybatis文件,分别是ClassMapper.xml和BabyMapper.xml中,现在想要用ClassMapper调用BabyMapper中的一个方法。
ClassMapper.xml中的查询语句:
<select id="getByBo" resultMap="BaseResultMap" parameterType="ClassesBo">
select * from class c where 1 = 1
<include refid="baby.getdemo"/>
</select>
BabyMapper.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="baby">
<sql id="getdemo">
and 2 = 2
</sql>
</mapper>
通过log观察发现最后的结果:
Preparing: select * from class c where 1 = 1 and 2 = 2
通过以上,发现是可以跨文件调用的,写的时候需要把指针也写上,如:baby.getdemo
以上只是例子,实际还需要按照你自己来定
跟你之前只有一个数据库写SQL一样的。只不过表明前面带上数据库的schema名称就好了,跟写单库的表查询一样一样的。
select * from user.`user` uleft join trade.`trade_order` t
on
u.`id` = t.`user_id`
为了给你讲解清楚,特地亲手创建了两个数据库,以及两张表。希望对你有帮助,还望采纳最佳噢!谢谢 ^_^
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)