mybatis那些约定的配置你真的都了解吗(经验总结)
背景
在springboot中有很多约定大于配置的规则,如果我们准守了约定,可以零配置。mybatsi中Mapper和xml文件之间有很多约定俗称的规则,比如名称匹配,包扫描,别名等,这些规则是什么。如果想更加灵活,该如何配置呢?今天就给大家讲一下如何配置mybatsi的xml文件等。
一、@Mapper注解和@MapperScan注解使用说明
- 可以不使用@MapperScan注解,默认扫描根路径下标注了@Mapper注解的接口
- 可以使用@Mapper注解,使用@MapperScan(“com.kouryoushine.mybatis.demo.mapper”),告诉spring该包下的接口都作为Mapepr对象扫描到容器中
- 两个注解都不使用,报如下错误。在根路径下扫描不到任何Mapper
- No MyBatis mapper was found in ‘[com.kouryoushine.mybatis.demo]' package. Please check your configuration.
–程序员只需要mapper接口和mapper.xml映射文件,mybatis可以自动生成mapper接口实现类代理对象。
–程序员编写mapper接口需要遵循一些开发规范。
mapper代理开发规范
- 在mapper.xml中namespace等于mapper接口地址
- mapper.java接口中的方法名和mapper.xml中statement的id一致
- mapper.java接口中的方法输入参数类型和mapper.xml中statement的parameterType指定的类型一致。
- mapper.java接口中的方法返回值类型和mapper.xml中statement的resultType指定的类型一致。
- mapper.xml文件名应该和接口名保持一致,否则也可能出现不匹配
这种方式无需额外的配置,但并不推荐。
文章图片
位置2:放在resource下任意目录
比如指定mapper-location的位置,否则扫描不到
mybatis:mapper-locations: classpath:/mapper/*.xml
位置3:和mapper接口放在同一目录下
这种情况下比较特殊,其实是能扫描到这个xml文件的,只是打包时不会打进去。可以通过添加如下配置将xml打包进去。
src/main/java **/*.xml src/main/resources
【mybatis那些约定的配置你真的都了解吗(经验总结)】注:没有上述配置时target是没有mapper.xml文件的,大家可以自己尝试
文章图片
总结 虽然有多种方式都可以达成配置,但还是推荐加上注解同时指定好扫描路径。
以上就是mybatis那些约定的配置你真的都了解吗的详细内容,更多关于mybatis配置的资料请关注脚本之家其它相关文章!
推荐阅读
- 关于QueryWrapper|关于QueryWrapper,实现MybatisPlus多表关联查询方式
- mybatisplus如何在xml的连表查询中使用queryWrapper
- mybatisplus|mybatisplus where QueryWrapper加括号嵌套查询方式
- MybatisPlus|MybatisPlus LambdaQueryWrapper使用int默认值的坑及解决
- MybatisPlus使用queryWrapper如何实现复杂查询
- 那些年我们玩过的街机
- 那些反串过的艺人-最是美色如醉人
- 【挑战日更】Day6.《终身学习.10个你必须掌握的未来生存法则》摘录之三
- 真正的爱
- 糖尿病肾病那些事儿