《MyBatis》实训心得体会1

常见的接口返回值定义方式

  • 单一数据类型

这种情况下,接口返回一个具体的数据类型,比如整数、字符串、布尔值等。

例:

public int getAge();
  • 自定义数据类型

接口可以定义自定义的数据类型,通常是一个类或结构体,用于封装多个数据字段。

例:

public Person getPersonInfo();
  • 集合或数组

接口返回一个包含多个元素的集合或数组。

例:

public List<Book> getBookList();
  • 状态码和消息

返回一个键值对的集合,可以用于存储相关联的信息。

例:

public ResultCode deleteRecord(int id);
  • 异常抛出

如果出现了错误或异常情况,接口可以选择抛出异常以通知调用者。

例:

public void processFile(String filePath) throws FileProcessingException;
  • Map或Dictionary

返回一个键值对的集合,可以用于存储相关联的信息。

例:

public Map<String, Integer> getStudentGrades();
  • 空值或Null

在某些情况下,接口可能不返回具体数据,而是返回一个表示空值或未定义的信号。

例:

public void clearCache();
  • 泛型类型

使用泛型可以使接口更加灵活,能够返回不同类型的数据。

例:

public <T> T getData();
  • 映射查询结果的配置项resultMap 和 resultType 

  • resultMap

作用:resultMap 允许你自定义如何将查询结果映射到一个对象。

定义方式:resultMap 是一个可以包含多个 <id> 和 <result> 元素的 XML 元素,可以用于处理复杂的映射需求。它通常包含了对应 Java 对象的属性以及数据库表中的列之间的映射关系。

适用情况:适用于需要进行复杂的映射,例如处理关联关系、复合对象等情况。

例:

<resultMap id="userResultMap" type="User">  
  <id property="id" column="user_id" />  
  <result property="username" column="username" />  
  <result property="email" column="email" />  
</resultMap>  
  • resultType

作用:resultType 是指定单一结果对象类型,它用于简单的映射,当查询返回的结果只有一个属性时,通常会使用 resultType。

定义方式:resultType 是一个 Java 类型的完全限定名(例如 com.example.User)。它指定了查询结果应该映射到哪个 Java 对象。

适用情况:适用于简单的查询,返回结果为单一类型,例如一个整数、字符串等。

例:

<select id="getUsernameById" resultType="java.lang.String">  
  SELECT username  
  FROM users  
  WHERE user_id = #{id}  
</select>  

       考虑在查询中返回其他表中大量列的值不考虑嵌套XML配置的情况下,在实体类中增加对象,设置字段名。在XML文档中修改该方法的别名为“字段名.属性名”,通过这种方式可以直接将值赋给字段中的属性。

例:

实体类

public class SysRole {  
/*在实体类SysRole中增加SysUser对象,字段名为user */  
      private SysUser user;  
}  

XML文档

<select id="selectRolesByUserId" resultType ="tk.mybatis.simple.model.SysRole">  
        select  
            r.id,  
            r.role_name roleName,  
            r.enabled,  
            r.create_by CreateBy,  
            r.create_time createTime,  
<!--修改该方法的别名为“字段名.属性名”-->  
            u.user_email as "userEmail",  
            u.user_name as "userName"  
        from sys_user u  
        inner join sys_user_role ur on u.id=ur.user_id  
        inner join sys_role r on ur.role_id=r.id  
    </select>  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值