目录
- Mybatis注解@Results、@Result、@ResultMap
- mybatis注释使用
- resultMap对应的注释,及对应注解Results、Result、One、Many的使用
- 1.@Results注解
- 2.@Resutl注解
- 3.@One注解(一对一)
- 4.@Many注解(多对一)
Mybatis注解@Results、@Result、@ResultMap
问题
在使用mybatis时发现,mybatis能自动匹配实体名和数据库字段名相同的字段。当有实体名与数据库的字段名不同时该如何解决??

数据库的表对应的列名:
springboot项目中建的实体类为:
public class MapModel {
private Long key;
private String value;
//省略getter、setter方法
}
方法一
给查询字段另起名对应实体类的名称:
@Select("SELECT province_id as key , province_name as value FROM `j_position`")
public List<MapModel> provinceName();
方法二
使用@Results、@Result、@ResultMap注解:
@Select("SELECT province_id, province_name FROM `j_position`")
@Results(id="resultMap1" ,value = {
@Result(property = "key",column = "province_id"),
@Result(property = "value",column ="province_name")
})
public List<MapModel> provinceName();
其中定义的id="resultMap1"可以使用
@ResultMap("resultMap1)
@Select("SELECT province_id, province_name FROM `j_position` where province_name=#{name}")
public List<MapModel> provinceName(String name);
推荐使用方法二!
mybatis注释使用
resultMap对应的注释,及对应注解Results、Result、One、Many的使用
有一部分建立在我上一个博客,mybatis注释使用(单表查询),如果那里看不懂了,建议看下我上一个博客(里面所有的配置文件,接口,数据库的创建都有说明)
<resultMap>对应的注解:
1.@Results注解
代替的是标签<resultMap >
该注解中可以使用单个@Result注解,也可以使用@Result集合
@Results({@Result(),@Result()})或@Results(@Result())
注意:使用注解是若报出org.apache.ibatis.binding.BindingException:Invalid bound statement (not found):接口全类名.方法名
可能是使用@Results注解时忘记使用@Select注解
2.@Resutl注解
代替了 <id>标签和<result>标签
@Result 中 属性介绍:
column 数据库的列名
Property需要装配的属性名
one 需要使用的@One注解(@Result(one=@One)()))
many 需要使用的@Many注解(@Result(many=@many)()))
3.@One注解(一对一)
代替了<assocation>标签,是多表查询的关键,在注解中用来指定子查询返回单一对象。
@One注解属性介绍:
select 指定用来多表查询的sqlmapper
fetchType会覆盖全局的配置参数lazyLoadingEnabled。。
使用格式:
@Result(column=" ",property="",one=@One(select=""))
4.@Many注解(多对一)
代替了<Collection>标签,是是多表查询的关键,在注解中用来指定子查询返回对象集合。
注意:聚集元素用来处理“一对多”的关系。需要指定映射的Java实体类的属性,属性的javaType(一般为ArrayList)但是注解中可以不定义;
使用格式:
@Result(property="",column="",many=@Many(select=""))
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
相关推荐:
ChatGPT198元永久会员,开启智慧之门,体验AI的极致服务!,老孙教ai
SEO优化如何进行:提升网站排名,轻松超越竞争对手,ai写作怎么操作手机
SEO刷:让你的网站一夜之间登顶搜索引擎!,独特seo技巧
seo站内链接有什么作用,seo中网站内链的作用 ,781900ai
seo规范是什么意思,seo包括哪些内容 ,AI智能破解
AI一键生成文章免费版:颠覆写作新体验
ChatGPT打开后空白:如何解决这个困扰并高效使用AI助手,ai四声怎么写
SEO适合-提升网站排名的关键策略,张家口品牌推广营销中心
SEO关键词的选择步骤:让你的网站在搜索引擎中脱颖而出,ai书法化
好用的人工智能AI软件推荐,让你的生活更智能!
seo诊断什么意思,seo诊断a5 ,约瑟夫ai
重生成AI:突破科技前沿,开启智能未来
SEO精通:让你的内容在搜索引擎中脱颖而出,跨境电商 推广营销
为什么新手做seo好做,为什么要懂seo ,ai少女 3060显卡
ChatGPT的破解版:AI世界的新突破,ai无禁忌
SEO北京:数字时代,企业成功的关键,湖南网站建设湖南岚鸿
SEO任何:如何通过精准优化让网站流量突破极限,太原网站建设培训班
seo算是什么营销方式,seo是网络营销吗 ,ai318
SEO伪创:提升网站排名的危险策略与如何避免,怎样介绍社交网站推广
Goanno跨级借鉴:推动创新与提升效率的秘密武器,崇明区智能ai艾灸费用
如何下载免费AI软件,让你的工作和生活更智能
OpenAI您的信用卡被拒绝了?请尝试用借记卡支付,轻松解决支付问题!,ai cdr缩略图补丁
SEO更好,让你的网站从此脱颖而出,渝中的知名网站建设
ChatGPT维护-智能时代的数字助手,如何让你的工作更高效,ai智能救援
SEO地位:如何提升你的网站排名与曝光度,抢占市场先机,微营销网络推广
SEO要求:如何优化网站提升搜索引擎排名,助力企业获取更多流量,鹤山区网站运营推广
SEO在线服务-让您的网站快速跃升至搜索引擎前列,江西小红书营销推广案例
seo都有什么问题,seo都有什么问题和答案 ,ai凯旋公主下载
ChatGPT页面无法翻阅?带你深度了解背后的原因与解决方案,pdf怎么转换ai文字
SEO与SEM:谁才是提升网站流量的王者?,Ai中字体如何变形立体
AI缩写在线:让人工智能助力你行业前沿技术,ai uhrehara
WP原创:打造属于你的独特网站,从这里开始!,一个网站推广一个月需要多少钱
为什么选择老域名注册,打造品牌价值的秘密武器,网站建设服务费用多少
怎样用AI写文章?快速高效创作新技能!
SEO用户:如何为您的网站带来持续流量和转化,惠州网站推广哪个好
“曝光量扩大,助力品牌腾飞的秘密武器”,盐山网站优化免费咨询
怎么看文章是不是AI生成的?揭秘背后的玄机与技巧
为什么选择B站VIP?让你畅享更丰富的视听体验,小门类网站seo
GPT-3.5网页版:让你与人工智能零距离接触,ai英语学
优化标题:如何让你的文章更具吸引力与点击力,整站网站优化解决方案
OpenAI注册问题解决方案:如何顺利通过手机号验证,反对ai头像
SEO客服:如何提升客户体验与业务转化的双赢策略,鄂州网站建设公司教程
AI免费生成:开启智能创作新纪元,助力你的创意无限可能
ChatGPT怎么打不开了?解决办法,轻松恢复畅通无阻!,ai订酒店ai对话
用AI写一篇文章,如何提升你的写作效率与创意
用AI写文章,释放你的创作潜力!
“扩写AI”-引领写作革命,开启智能创作新时代,dede seo 标题如何填写
SEO如何做?全方位解析提升网站排名的秘诀,AI翻译好处
seo规范是什么,seo行业标准 ,啊龙ai音乐
SEO优化要钱吗?揭秘SEO投资背后的价值与回报,ai领域