查询的时候如何获取sql中Date型的数据

查询的时候如何获取sql中Date型的数据

在做该项目作业的时候,用List获取的表遍历的时候,无法遍历得到create_time这个日期型的数据,因为sql.date和util.date的不同,没有存进对象中,那么我如何在查询的时候可以查询到sql中的date型数据

正在回答

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

2回答

同学你好,News类中creat_time写错了,应该是create_time。建议同学重新生成一下get/set方法。

如下:

http://img1.sycdn.imooc.com//climg/606593b909120b2806490283.jpg

修改后,可以查询出来。例如 数据库中数据如下:

http://img1.sycdn.imooc.com//climg/606593fa092f628a05310149.jpg

查询结果如下:

http://img1.sycdn.imooc.com//climg/606594330999214d08920751.jpg

祝学习愉快~

好帮手慕阿慧 2021-04-01 16:11:40

同学你好,关于查询日期型数据,建议同学回顾一下之前课程https://class.imooc.com/lesson/1396#mid=33992  

祝学习愉快~

  • 提问者 qq_精慕门6417434 #1

    之前那个用的时ResultSet的方法,我想问Apache Commons DBUtils那个QueryRunner有没有相应的办法可以获取

    2021-04-01 16:24:48
  • 同学你好,QueryRunner没有对应的方法。获得日期数据直接调用对应属性的get方法就可以了。

    例如:

    http://img1.sycdn.imooc.com//climg/60658d7e09daf43f09800637.jpg

    祝学习愉快~

    2021-04-01 17:08:54
  • package imooc.com.entities;

    import java.util.Date;

    public class News {
    private  int id;
    private  String title,content;
    private Date creat_time;

    public News() {
    }

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

    public int getId() {
    return id;
    }

    public void setId(int 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 getCreat_time() {
    return creat_time;
    }

    public void setCreat_time(Date creat_time) {
    this.creat_time = creat_time;
    }

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

    ​package imooc.com.command;

    import com.alibaba.druid.pool.DruidDataSourceFactory;
    import com.alibaba.druid.pool.ha.selector.DataSourceSelectorFactory;
    import imooc.com.entities.News;
    import org.apache.commons.dbutils.QueryRunner;
    import org.apache.commons.dbutils.handlers.BeanHandler;
    import org.apache.commons.dbutils.handlers.BeanListHandler;

    import javax.sql.DataSource;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.List;
    import java.util.Properties;
    import java.util.Scanner;

    public class QueryCommand implements Command {
    @Override
    public void execute() {
    Properties properties = new Property().getProperties(QueryCommand.class);
    Connection conn = null;
    PreparedStatement stmt = null;
    ResultSet rs = null;
    try {
    //前期准备
    DataSource dataSource = DruidDataSourceFactory.createDataSource(properties);
    conn = dataSource.getConnection();
    conn.setAutoCommit(false);
    //查询执行
    /* System.out.println("请输入要查询的页数");
    Scanner si = new Scanner(System.in);
    int page = si.nextInt();*/
    String sql = "select * from News ";
    QueryRunner qr = new QueryRunner(dataSource);
    List<News> list = qr.query(sql,new BeanListHandler<>(News.class));
    for (News news : list) {
    System.out.println(news);
    }
    /* stmt = conn.prepareStatement(sql);
    rs = stmt.executeQuery();
    while(rs.next()){
    Integer id = rs.getInt("id");
    String title = rs.getString("title");
    String content = rs.getString("content");
    java.util.Date date = rs.getDate("create_time");
    News news = new News(id, title, content, date);
    System.out.println(news);
    }*/
    } catch (Exception e) {
    e.printStackTrace();
    }finally {
    new EndConnect().endConnect(rs,stmt,conn);
    }
    }
    }

    我这样获取的东西输出的create_time值为null,也就是用QueryRunner的方法时没有成功获取到Date型的数据


    2021-04-01 17:17:06
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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