Jav详细介绍的Mapper对应的Mybatis xml查询结果resultType返回值类型

一、返回一般数据类型

        此实列总代用的是string类型

列:比如我们要根据 id 属性获得数据库中的某个字段值。

mapper 接口:

    // 根据 id 获得数据库中的 username 字段的值
    String getEmpNameById(Long id);

XML映射文件:

    <!--  指定 resultType 返回值类型时 String 类型的, 
         string 在这里是一个别名,代表的是 java.lang.String 
        对于引用数据类型,都是将大写字母转小写,比如 HashMap 对应的别名是 'hashmap'
        基本数据类型考虑到重复的问题,会在其前面加上 '_',比如 byte 对应的别名是 '_byte'
        有些时候resultType会检测不到String类型,检测不到就写全包路径 java.lang.String  -->

    <select id="getEmpNameById" resultType="string">
        select username from t_employee where id = #{id}
    </select>

 二、返回 JavaBean 类型

 好比如根据某个字段获得数据库中的信息,把查询的结果信息封装成某个 JavaBean 类型的数据。(简而言之平常使用的实体类)

mapper 接口:

// 根据 id 查询信息,并把信息封装成 User 对象
User getUserID(Long id);

    <!-- 
        通过 resultType 指定查询的结果是 user类型的数据  
        只需要指定 resultType 的类型,MyBatis 会自动将查询的结果映射成 JavaBean 中的属性
    -->
    <select id="getUserID" resultType="user">
        select * from user where id = #{id}
    </select>

三、返回Map类型

MyBatis 还支持将查询的数据封装成Map。

如果查询的结果是一条,我们可以把查询的数据以{表字段名, 对应的值}方式存入到Map中。

mapper 接口:

    //  根据 id 查询信息,并把结果信息封装成 Map 
    Map<String, Object> getUserById(Long id);
 

SQL 映射文件:

    <!-- 
        注意这里的 resultType 返回值类型是 'map'
     -->
    <select id="getUserById" resultType="map">
        select * from user where id = #{id}
    </select>

四、返回List类型(比较常用的一种重点)

有时候我们要查询的数据不止一条,比如:页面的模糊查询,直接展示多条表记录,这时候返回的数据可能不止是一条数据,对于多数据的处理可以存放在List集合中。

mapper 接口:

    // 假如是全表查询数据,将查询的数据封装成 Employee 类型的集合
    List<User> selectAllUser();

 SQL 映射文件:

    <!-- 注意这里的 resultType 返回值类型是集合内存储数据的类型,不是 'list' -->
    <select id="selectAllUser" resultType="user">
        select * from user
    </select>

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
超市价格查询系统是一种能够帮助用户快速查询商品价格的软件系统。该系统使用Java语言进行开发,以下是该系统的源代码: ```java import java.util.HashMap; // 商品类 class Product { private String name; // 商品名称 private double price; // 商品价格 public Product(String name, double price) { this.name = name; this.price = price; } public String getName() { return name; } public double getPrice() { return price; } } // 超市价格查询系统类 public class SupermarketPriceQuery { private HashMap<String, Double> products; // 存储商品及其价格的哈希表 public SupermarketPriceQuery() { products = new HashMap<>(); } public void addProduct(String name, double price) { products.put(name, price); // 添加商品及其价格到哈希表中 } public double queryPrice(String name) { if (products.containsKey(name)) { return products.get(name); // 查询商品的价格 } else { System.out.println("不存在该商品"); return -1; } } public static void main(String[] args) { SupermarketPriceQuery system = new SupermarketPriceQuery(); // 添加商品及其价格到系统中 system.addProduct("苹果", 3.5); system.addProduct("香蕉", 2.0); system.addProduct("鸡蛋", 2.5); // 查询商品价格并输出结果 System.out.println("苹果的价格:" + system.queryPrice("苹果")); System.out.println("香蕉的价格:" + system.queryPrice("香蕉")); System.out.println("橙子的价格:" + system.queryPrice("橙子")); } } ``` 以上是一个简单的超市价格查询系统的Java源代码。该系统通过HashMap存储商品名称和价格,用户可以通过调用`addProduct`方法添加商品,通过调用`queryPrice`方法查询商品价格。运行程序时,输出了苹果、香蕉和橙子的价格。如果查询的商品不在系统中,则会输出“不存在该商品”。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学无丿止境

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值