这个怎么把从数据库取得数据,年月日提取出来呢?或者时分秒,怎么提取呢?

这个怎么把从数据库取得数据,年月日提取出来呢?或者时分秒,怎么提取呢?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package com.testmysql.one.testonDao;
 
import com.testmysql.one.testonentity.Userone;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;
 
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
 
@Repository
public class UserDao {
    @Resource
    private JdbcTemplate jdbcTemplate;
 
    public List<Map<String,Object>> useronet(String username){
 
        String sql="SELECT * FROM test_two WHERE username=?";
        List<Map<String,Object>> maps=jdbcTemplate.queryForList(sql,new Object[]{username});
        return maps;
    }
}
 
 
import com.testmysql.one.testonDao.UserDao;
import com.testmysql.one.testonentity.Userone;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
 
import java.util.List;
 
public class Test_Two {
    public static void main(String[] args) {
        ApplicationContext context=new ClassPathXmlApplicationContext("classpath:applicationtext.xml");
        UserDao userDao=context.getBean("userDao",UserDao.class);
        List userone= userDao.useronet("肖点和");
        for (int i=0;i<userone.size();i++){
            System.out.println(userone.get(i));
        }
    }
}

{username=肖点和, datatime=2022-08-01T07:36}

{username=肖点和, datatime=2022-08-02T07:43}

{username=肖点和, datatime=2022-08-02T16:45}

{username=肖点和, datatime=2022-08-03T07:37}

{username=肖点和, datatime=2022-08-03T17:02}

{username=肖点和, datatime=2022-08-04T07:48}

{username=肖点和, datatime=2022-08-04T17:06}

{username=肖点和, datatime=2022-08-05T07:43}

{username=肖点和, datatime=2022-08-05T17:00}

{username=肖点和, datatime=2022-08-06T07:37}

{username=肖点和, datatime=2022-08-06T17:02}

{username=肖点和, datatime=2022-08-07T07:41}

{username=肖点和, datatime=2022-08-07T17:01}

{username=肖点和, datatime=2022-08-08T07:44}

{username=肖点和, datatime=2022-08-08T07:56}

{username=肖点和, datatime=2022-08-08T17:00}

{username=肖点和, datatime=2022-08-09T06:44}

{username=肖点和, datatime=2022-08-09T17:00}

{username=肖点和, datatime=2022-08-10T07:44}

{username=肖点和, datatime=2022-08-10T16:59}

{username=肖点和, datatime=2022-08-11T07:42}

{username=肖点和, datatime=2022-08-11T12:01}

{username=肖点和, datatime=2022-08-12T07:44}

{username=肖点和, datatime=2022-08-12T17:00}

{username=肖点和, datatime=2022-08-13T07:52}

{username=肖点和, datatime=2022-08-13T17:00}

{username=肖点和, datatime=2022-08-14T07:39}

{username=肖点和, datatime=2022-08-14T17:00}

{username=肖点和, datatime=2022-08-15T07:52}

{username=肖点和, datatime=2022-08-15T17:00}

{username=肖点和, datatime=2022-08-16T07:48}

{username=肖点和, datatime=2022-08-16T17:07}

{username=肖点和, datatime=2022-08-17T07:43}

{username=肖点和, datatime=2022-08-17T17:00}

{username=肖点和, datatime=2022-08-18T05:57}

{username=肖点和, datatime=2022-08-18T17:00}

{username=肖点和, datatime=2022-08-19T07:48}

{username=肖点和, datatime=2022-08-19T15:07}

{username=肖点和, datatime=2022-08-19T15:38}

{username=肖点和, datatime=2022-08-19T17:01}

{username=肖点和, datatime=2022-08-20T06:51}

{username=肖点和, datatime=2022-08-20T17:06}

{username=肖点和, datatime=2022-08-21T07:46}

{username=肖点和, datatime=2022-08-21T07:49}

{username=肖点和, datatime=2022-08-21T17:00}

{username=肖点和, datatime=2022-08-22T07:41}

{username=肖点和, datatime=2022-08-22T17:01}

{username=肖点和, datatime=2022-08-23T07:52}

{username=肖点和, datatime=2022-08-23T17:01}

{username=肖点和, datatime=2022-08-24T07:45}

{username=肖点和, datatime=2022-08-24T17:09}


正在回答

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

1回答

同学你好,可以将日期属性设置为LocalDateTime类型。LocalDateTime类型对应MySql中的Timestamp类型,是包含时分秒的类型。

老师结合课程源码,给同学提供一些操作的代码,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
@Test
public void testFindById(){
    Employee employee = employeeDao.findById(3308);
    //获取入职时间
    LocalDateTime hiredate = employee.getHiredate();
    //获取年份
    int year = hiredate.getYear();
    //获取月份
    int month = hiredate.getMonth().getValue();
    //获取日期
    int day = hiredate.getDayOfMonth();
    //获取时
    int hour = hiredate.getHour();
    //获取分
    int minute = hiredate.getMinute();
    //获取秒
    int second = hiredate.getSecond();
}

祝学习愉快~

  • 热爱编程学习 提问者 #1

    那我这个类型List<Map<String,Object>> ,怎么取呢?

    2022-09-14 17:39:24
  • 同学你好,useronet方法返回的List集合中,每一个元素为一个Map<String,Object>对象。Map<String,Object>中的key为数据库中字段的名称,value为数据库中该字段的数据。

    所以只需要遍历List集合,将所有的Map取出,然后再根据key(字段名称)来获取对应的value即可。

    同学提供的代码中,main方法中的循环已经将Map取出,接下来只需要从Map中将“datatime”字段对应的数据取出即可。取出的数据是Object类型的,需要强制类型转换为LocalDateTime类型。

    代码为:

    1
    LocalDateTime ldt = (LocalDateTime) userone.get(i).get("datatime");

    祝学习愉快~


    2022-09-14 18:20:11
  • https://img1.sycdn.imooc.com//climg/63229ee1092a0f8d16420691.jpg

    我这个怎么报错呢?

    2022-09-15 11:41:38
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

帮助反馈 APP下载

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

公众号

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

在线咨询

领取优惠

免费试听

领取大纲

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