讀取數據的create_time是null的疑問

讀取數據的create_time是null的疑問

工具類

import com.alibaba.druid.pool.DruidDataSourceFactory;

import javax.sql.DataSource;
import java.io.FileInputStream;
import java.net.URLDecoder;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;

public class DBUtils {
    /**
     * 取得DataSource數據源對象
     * @return DataSource數據源對象
     */
    public static DataSource getDataSource() {
        Properties properties = new Properties();
        String pFile = DBUtils.class.getResource("/druid-config.properties").getPath();
        DataSource dataSource = null;
        try {
            pFile = new URLDecoder().decode(pFile, "UTF-8");
            properties.load(new FileInputStream(pFile));
            dataSource = DruidDataSourceFactory.createDataSource(properties);

        } catch (Exception e) {
            e.printStackTrace();
        }

        return dataSource;
    }

    /**
     * 關閉數據庫連接
     * @param conn 數據庫連接
     */
    public static void closeConnection(Connection conn) {
        try {
            if (conn != null && !conn.isClosed()) {
                conn.close();
            }
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
    }
}

新聞類

import java.util.Date;

/**
 * 新聞類
 */
public class News {
    private Integer id; // 新聞id
    private String title; // 新聞標題
    private String content; // 新聞內容
    private Date createTime; // 創建時間

    public News() {

    }

    public News(Integer id, String title, String content, Date createTime) {
        this.id = id;
        this.title = title;
        this.content = content;
        this.createTime = createTime;
    }

    public Integer getId() {
        return id;
    }

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

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Override
    public String toString() {
        return "News [" +
                "id=" + id +
                ", title='" + title + '\'' +
                ", content='" + content + '\'' +
                ", createTime=" + createTime +
                ']';
    }
}

查找新聞類

import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import pers.leo.jdbc.common.DBUtils;
import pers.leo.jdbc.entity.News;

import javax.sql.DataSource;
import java.sql.SQLException;
import java.util.List;

public class SearchCommand implements Command {
    @Override
    public void execute() {
        DataSource dataSource = DBUtils.getDataSource();
        QueryRunner qr = new QueryRunner(dataSource);
        String sql = "SELECT * FROM news";
        try {
            List<News> newsList = qr.query(
                    sql,
                    new BeanListHandler<>(News.class),
                    new Object[]{}
            );

            for (News n: newsList
            ) {
                System.out.println(n);
            }
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }

    }
}

資料庫news表

http://img1.sycdn.imooc.com//climg/5f2be2c00889a61304000127.jpg

idea的console內容

http://img1.sycdn.imooc.com//climg/5f2be2c10858d16c12020175.jpg

添加至數據庫的功能正常, 但讀取的create_time不知道為什麼沒有導入到News類中呢, 求老師解惑!

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学自己解决了问题,棒棒哒。继续加油。

祝:学习愉快~

慕桂英0504842 提问者 2020-08-06 19:31:56

經過測試之後, 發現似乎是News類的create_time名稱必須與News資料表一致, 因為修改過後能正常呈現了。

http://img1.sycdn.imooc.com//climg/5f2bea20087a0b2d13140094.jpg

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师