首页 > 数据库 >数据库字段名称和实体属性名称不同问题

数据库字段名称和实体属性名称不同问题

时间:2023-04-01 19:58:06浏览次数:34  
标签:name 数据库 字段名 brand select 属性

在使用Mapper代理开发时,出现数据库字段名称和实体属性名称不同问题,如数据库字段为brand_name,但是在定义实体类时,属性名称一般以驼峰形式命名,这样就会出现查询数据时,不能查出数据库该字段数据的情况。

解决方案一:对不一样的字段名起别名,别名与实体类属性名相同。

        <select id="selectAll" resultType="com.pojo.User">
            select id,brand_name as brandName,company_name as companyName,ordered,description,status from tb_brand;
        </select>

解决方案二:定义sql片段

    <sql id="user_column">
        id,brand_name as brandName,company_name as companyName,ordered,description,status
    </sql>

    <select id="selectAll" resultType="com.pojo.User">
        select <include refid="user_column"/> from tb_brand;
    </select>

解决方案三:resultMap,定义resultMap标签,在select标签中用resultMap标签替换resultType标签

    <resultMap id="userResultMap" type="com.pojo.User">
     <!--子标签有两个 id result
             id用于主键标签的映射
             result用于一般标签的映射-->
        <result column="brand_name" property="brandName"/>
        <result column="company_name" property="companyName"/>
    </resultMap>


    <select id="selectAll" resultMap="userResultMap">
        select * from tb_brand;
    </select>

 

标签:name,数据库,字段名,brand,select,属性
From: https://www.cnblogs.com/zhang12345/p/17279203.html

相关文章

  • 每日总结--2023/3/31(解决了数据库连接不正常的问题,完成了javaweb暂时的配置)
    今天耗费一天的时间总算是找到了问题所在.问题出在mysqlServlet的版本上。在重装系统前,我所装的mysqlSevlet版本是5.0左右的,所以连接数据库的驱动也是5.0,包括url,而在重装系统后我的mysqlSevlet版本是8.0以上的,所以用原来的语句是不正确的,要修改为8.0版本的才能够运行,同......
  • 每日总结--2023/3/29(解决sevlet报错问题和数据库中文编码错误)
    今日完成:昨天的残留问题,查询了很多资料,也没能完全解决。首先是tomcat版本问题,重新下载并且部署了tomcat10版本的内容,解决了sevlet代码报错的问题。但是连接数据库仍然是不成功,报500错误,检查了mysql数据库,发现数据库正常(除中文变为?的bug)。连接数据库暂时仍不成功,但是成功解决......
  • C# 根据主键ID查询数据库的数据 反射和泛型实现
    //引入命名空间usingZhu.ADO.NET.DBProxy;usingZhu.ADO.NET.Models.models;Console.WriteLine("========================================================");Console.WriteLine("============开始测试====================================");Console.Wr......
  • 数据库应用2023-04-01
     indexvsfulltextindexinmysqlInMySQL,anindexisadatastructurethatimprovesthespeedofdataretrievaloperationsonatable.Itworksbyallowingthedatabasetofindandretrievespecificrowsmorequickly,byreducingtheamountofdatath......
  • 读数据库图片判断其是否成功写入图片。
    importpymysqlimportcv2importnumpyasnpconn=pymysql.connect(host='127.0.0.1',port=3306,user='root',passwd='1234567890',db='studentmemo')cursor=conn.cursor()cursor.execute("SELECTpicFROMstuden......
  • django:数据库的一些进阶知识点与应用
    一,连接池使用第三方程序向数据库发出数据操作请求前,都需要先创建到数据库的连接,这个操作会占用大量资源。所谓的资源消耗,一是对数据库连接数量的消耗;二是对系统内存资源的消耗;三是连接建立过程对时间的消耗,时间消耗角度可以参考这篇博客。django默认会在请求进来的时候创建......
  • Docker部署openGauss国产数据库
    一、openGauss介绍1.openGauss简介openGauss是一款支持SQL2003标准语法,支持主备部署的高可用关系型数据库。2.openGauss产品定位多种存储模式支持复合业务场景,新引入提供原地更新存储引擎。NUMA化数据结构支持高性能。Paxos一致性日志复制协议,主备模式,CRC校验支持高可用......
  • 《Mysql基础》【Mysql删除数据库、新建数据库、修改数据库】 编程入门 学习分享 【公
     --mysql数据库程序设计笔记:数据定义:1、创建数据库:如:createdatabasedb_pro_1defaultcharsetgb2312collategb2312_chinese_ci;QueryOK,1rowaffected(0.00sec)或:createdatabasedb_pro_2defaultcharactersetgb2312defaultcollategb2312_chinese_ci;......
  • 《Mysql基础-1》【新建数据库】 【新建表】编程入门 学习分享 公开免费
    --mysql数据库程序设计笔记:--mysql安装路径my.ini中把:default-character-set=utf8改为default-character-set=gbk后重启客户端。--创建数据库:createdatabasedb_schooldefaultcharsetgb2312collategb2312_chinese_ci;usedb_school;--1、学生表:createtabletb_s......
  • Oracle 数据库基础
    Oracle数据库基础DUAL表dual是Oracle提供的最小的工作表,只有一行一列,具有某些特殊功用。不论进行何种操作(不要删除记录),它都只有一条记录——'X'。select*fromdual;用户用户:对数据库的访问,需要以适当用户身份通过验证,并具有相关权限来完成一系列动作。SYS用户:缺......