鍍金池/ 問答/Java  數(shù)據(jù)庫/ java獲取不到時(shí)間字段中含有下劃線的字段數(shù)據(jù)created_dt,但是改成cr

java獲取不到時(shí)間字段中含有下劃線的字段數(shù)據(jù)created_dt,但是改成createdDt就可以獲取到,這是什么問題?


import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.sql.Timestamp;

@Setter
@Getter
@ToString
public class User {
    private String id;
    private String name;
    private String password;
    private int type;
    private String nikename;
    private int age;
    private int sex;
    private String email;
    private String phone;
    private String avatar;
    private String location;
    private int del_flag;
    private String memo;
    private Timestamp created_dt;
    private Timestamp updated_dt;
}
User user = userService.findBy(name, password);
        System.out.println("==============userinfo=============" + user.toString());
==============userinfo=============User(id=afe77d04-c38f-11e7-abc4-cec278b6b50a, name=zhangwei, password=123456, type=3, nikename=null, age=0, sex=0, email=null, phone=null, avatar=null, location=null, del_flag=0, memo=null, created_dt=null, updated_dt=null)

從上面打印的數(shù)據(jù)可以發(fā)現(xiàn)created_dt和updated_dt都為空,這是為什么,下面貼一下我的mapper文件和mysql數(shù)據(jù):

<?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.qtay.gls.dao.UserDao">
    <select id="findBy" resultType="User">
        select * from users
        where name = #{name} and password = #{password}
    </select>
</mapper>

clipboard.png

回答
編輯回答
尛曖昧

在 Java 這里你就用 java.util.Date 就好了

2017年7月22日 18:26
編輯回答
骨殘心

找到問題原因了:
原來mybatis這段代碼起作用的,mysql字段a_b,那么獲取到的自然是aB了,真是太坑了

<!-- 使用駝峰命名法轉(zhuǎn)換字段。 -->
        <setting name="mapUnderscoreToCamelCase" value="true"/>
2018年7月9日 16:25