Mybatis注解@Select结合@Results使用

本文探讨了MyBatis中@Result注解在多表联查场景下的应用,通过具体代码示例展示了如何精确映射不同数据库字段别名到Java实体属性,解决字段命名冲突问题,提高SQL查询的灵活性与准确性。
部署运行你感兴趣的模型镜像

 

该方式是否可以解决不同数据库字段别名的不同写法问题,如果是多表联查(多表有命名一样的字段), @Result可以准确定位sql中具体相关表的字段呢?回家测试一下!!!

public interface TestMapper {

    @Select("SELECT " +
            "t1.APPLY_NO," +
            "t1.CARD_IS_LONG_VALID," +
            "t1.SPELL_NAME ,"+
            "t1.EDUCATION  , " +
            "t1.MARITAL_STATUS "+
            "FROM " +
            "identity_info t1 " +
            "WHERE " +
            " t1.apply_no  = #{applyNo}")
    @Results({
            @Result(property = "applyNo", column = "APPLY_NO"),
            @Result(property = "cardIsLongValid", column = "CARD_IS_LONG_VALID"),
            @Result(property = "spellName", column = "SPELL_NAME"),
            @Result(property = "education", column = "EDUCATION"),
            @Result(property = "maritalStatus", column = "MARITAL_STATUS")

    })
    Map queryBasicInfo(Map paramMap);

    @SelectProvider(type = SelectBasicInfo.class,method = "selectBasicInfo")
    List<Map> selectBasicInfo(Map paramMap);
    public class SelectBasicInfo{
        public  String selectBasicInfo(){
            return new SQL(){
                {
                    SELECT("APPLY_NO as applyNo");
                    SELECT("CARD_IS_LONG_VALID  as cardIsLongValid");
                    SELECT("SPELL_NAME as spellName   ");
                    SELECT("EDUCATION as education   ");
                    SELECT("MARITAL_STATUS as maritalStatus   ");
                    FROM("identity_info");
                    WHERE("apply_no = #{applyNo} ");
                    WHERE("MARITAL_STATUS = '1' ");
                    ORDER_BY("created_date desc");
                }
            }.toString();
        }
    }
}

 

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值