想把mybatis自动生成的基础增删改查和手写sql分开成两个xml文件,有什么解决方法?

标题可能写的不太明白,我想实现的效果是:
在操作同一个表时,基本的增删改查使用mybatis-generator自动生成的xml文件,另外再写一个xml文件放自己手写的sql。
这样如果数据库新增字段,使用mybatis-generator生成新的xml,不会覆盖掉自定义sql文件,自己手写的sql有可能返回BaseResultMap类型,请问这样的功能要怎么现呢?

阅读 5.5k
3 个回答

另外,你手写的 <resultMap>可以继承自动生成xml的<BaseResultMap>,
这样即使重写自动生成的mapper.xml,你手动写的<resultMap> 也不用改。

<resultMap id="BaseResultMap" type="com.mshu.vip.entity.SysUser"
           extends="com.mshu.vip.mapper.original.SysUserMapper.BaseResultMap">
</resultMap>

注意extends的路径,是"接口的路径.BaseResultMap"这一点比较抽象。

clipboard.png
sql文件放2个目录,然后@MapperScan(basePackages = {"cn.com.XX.mapper","cn.com.XX.dao"} 扫描这两个目录下的接口

然后在配置文件配置上这些
<mapper resource="mysql/cn/com/XXX/Mapper.xml"/>

    <mapper resource="mysql/cn/com/XXX/Dao.xml"/>
新手上路,请多包涵

直接在你自己写的文件中引用resultmap sql片段之类的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题