解决MyBatis配置中MySQL字段名和Java类文件属性名不一致问题

原因:MySQL与Java中的命名规范不同。

Java变量名:首字母小写的驼峰命名法,如productName

数据库字段名:不同单词下划线隔开,如product_name

解决方式

方式一:sql语句为表中的字段取别名

<select id="select" resultType="Product">
    SELECT product_name productName FROM t_product where product_name = #{product_name};
<select>

方式二:mapper.xml自定义resultMap属性

<resultMap id="productMap" type="Product">
    <!--配置列名和类属性的映射关系,property为属性名,column为列名-->
    <!--同一个类中所有属性和对应表的所有列都要写上-->
    <id property="id" column="id"></id>
    <result property="productName" column="product_Name"></result>
    <result property="dirId" column="dir_id"></result>
    <result property="salePrice" column="sale_price"></result>
    <result property="cutoff" column="cutoff"></result>
</resultMap>

<!--resultMap属性对应上面配好的resultMap的id,id为标记不同resultMap的唯一标识符-->
<select id="select" resultMap="productMap">
    SELECT * from t_product where dir_id=#{dir_id};
</select>

 方式三:添加标签

在mybatis的主配置文件mybatis-config.xml中增加settings标签,采用mybatis的自带把下划线分割转换为驼峰命名。

    <settings>
    <!--   映射下划线为驼峰 如果属性名与字段名没对上时使用     -->
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值