zoukankan      html  css  js  c++  java
  • mybatis框架下解决数据库中表的列的字段名和实体类属性不相同的问题

    导包。。。。

    实体类中的属性,getter,setter,tostring,构造等方法就不写了

    private int id;
    private String orderNo;
    private float price;

    数据库中表的字段名:

    order_id INT PRIMARY KEY AUTO_INCREMENT,
    order_no VARCHAR(20),
    order_price FLOAT

    src下的conf.xml文件中解决,有两种方法,一种方法是在sql语句中写入别名,另一种方法是使用<resultMap>这个标签

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    <mapper namespace="com.atguigu.mybatis.test1.orderMapper">
        <!-- 解决字段名和实体类属性不相同的问题 -->
        
        <!-- 方法一:sql语句中加入别名 -->
        <select id="getOrder" resultType="Order">
            select order_id id,order_no orderNo,order_price price from orders where order_id=#{id}
        </select>
        
        <!-- 方法二:通过<resultMap> ,需要注意的是  resultMap属性值 和 resultMap标签中id属性值相等
        resultMap标签中的   id为数据表中主键的属性,result为其他属性,property为实体类属性名,column为数据表中的属性
        -->
        <select id="getOrder2" parameterType="int" resultMap="getOrder2Map">
            select * from orders where order_id=#{id}
        </select>
        
        <resultMap type="Order" id="getOrder2Map">
            <id property="id" column="order_id"/>
            <result property="orderNo" column="order_no"/>
            <result property="price" column="order_price"/>
        </resultMap>
        
    </mapper>
  • 相关阅读:
    Ubuntu 网络代理配置
    WSL2 环境配置
    两台笔记本电脑实现同一wifi下虚拟主机网络实现互通
    Linux /dev/loop0文件详解
    Excel两张表查重,返回True
    计算机网络基础/进制转换/企业级子网IP划分
    leetcode 2030. 含特定字母的最小子序列
    nginx https
    kubernetes(二十四)ingress https
    求两个向量的旋转矩阵 E
  • 原文地址:https://www.cnblogs.com/lxnlxn/p/6016277.html
Copyright © 2011-2022 走看看