栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java MyBatis查询数据库&结果映射 之ResultMap的使用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java MyBatis查询数据库&结果映射 之ResultMap的使用

 案例大致文件结构:

BrandMapper接口类,存放有sql的查询方法

pojo下的Brand是实体类

BrandMapper.xml与mybatis-config.xml是配置文件

test包下的myBatisTest是测试类

准备环境
1.数据库表tb_Brand
2.实体类 Brand
3.测试用例
4.安装MyBatisX插件

1.数据库表tb_Brand 

2.实体类 Brand

package com.itheima.pojo;

public class Brand {

    //id主键
    private Integer id;
    //品牌名称
    private String brandName;
    //企业名称
    private String companyName;
    //排序字段
    private Integer ordered;
    //描述信息
    private String discription;
    //状态 0:禁用 1:启用
    private Integer status;


    public Brand(Integer id, String brandName, String companyName, Integer ordered, String discription,
                 Integer status) {
        super();
        this.id = id;
        this.brandName = brandName;
        this.companyName = companyName;
        this.ordered = ordered;
        this.discription = discription;
        this.status = status;
    }


    public Brand() {
    }



    @Override
    public String toString() {
        return "Brand [id=" + id + ", brandName=" + brandName + ", companyName=" + companyName + ", ordered=" + ordered
                + ", discription=" + discription + ", status=" + status + "]";
    }


    public Integer getId() {
        return id;
    }


    public void setId(Integer id) {
        this.id = id;
    }


    public String getBrandName() {
        return brandName;
    }


    public void setBrandName(String brandName) {
        this.brandName = brandName;
    }


    public String getCompanyName() {
        return companyName;
    }


    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }


    public Integer getOrdered() {
        return ordered;
    }


    public void setOrdered(Integer ordered) {
        this.ordered = ordered;
    }


    public String getDiscription() {
        return discription;
    }


    public void setDiscription(String discription) {
        this.discription = discription;
    }


    public Integer getStatus() {
        return status;
    }


    public void setStatus(Integer status) {
        this.status = status;
    }





}

4.安装MyBatisX插件(更好用)

1.查询所有数据
    (1).编写接口方法Mapper接口   List selectAll();
        参数:无
        返回值结果为:List
    (2).编写sql语句:sql映射文件
        
               select * from tb_brand;
        

 
     select
     id,brand_name as brandName,company_name as companyName,ordered,discription,status
      from  tb_brand;
     

2.起别名并且定义sql片段(缺点:笨重,不灵活)


   id,brand_name as brandName,company_name as companyName,ordered,discription,status



        select
        *
        from  tb_brand;
    

对于这个问题做出总结:

数据库表的字段名称  和  实体类的属性名  不一样,则不能自动封装数据
     起别名 缺点:每一次都需要重写
     定义sql片段(不灵活)
     ResultMap(以后最常用)
         id:完成主键字段的映射的
         column:数据库表的列名
         property:实体类的属性名
         result:完成一般字段的映射
         resultMap步骤:
             1.定义resultMap标签
             2.在select标签中把resultType换成resultMap属性
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1024051.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号