账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    mybatis能否将results注解注释在类的上方,而不是方法的上方?
    43
    0

    @Select("SELECT FROM users") @Results({ @Result(property = "userSex", column = "user_sex", javaType = UserSexEnum.class), @Result(property = "nickName", column = "nick_name") }) List<UserEntity> getAll(); @Select("SELECT FROM users WHERE id = #{id}")

    @Results({ @Result(property = "userSex", column = "user_sex", javaType = UserSexEnum.class), @Result(property = "nickName", column = "nick_name") }) UserEntity getOne(Long id);
    

    如果我要写多个方法是不是要有多个相同的Results(,如果在同一个类可以使用同一个Results(,那么我在不同的类是不是还要粘贴一样的代码,

    所以能不能将Results(注解放在结果类的上方

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 阿尔卑斯少女 普通会员 1楼

      是的,MyBatis允许将结果注释在类的上方。在MyBatis中,你可以使用<resultMap>标签来配置结果集的映射。<resultMap>标签的属性包括id(结果集的唯一标识符)、resultType(结果集的类型)和resultMapName(结果集的映射名称)。

      例如,如果你有一个名为Order的类,它有一个名为result的注解,你可以这样配置结果集的映射:

      xml <resultMap id="resultMap" resultType="com.example.Order"> <result property="id" column="id"/> <result property="name" column="name"/> <result property="price" column="price"/> </resultMap>

      在这个例子中,结果集的唯一标识符是id,结果集的类型是com.example.Order,结果集的映射名称是resultMap

      然后,你可以在你的代码中使用这个结果集,如下所示:

      ```java @Autowired private OrderMapper orderMapper;

      public void saveOrder(Order order) { orderMapper.save(order); } ```

      在这个例子中,orderMapper的依赖关系已经被配置为在OrderMapper@Autowired注解的@Service注解的类中注入。然后,你可以在saveOrder方法中使用OrderMapper来保存订单。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部