Java中针对Timestamp数据类型操作

一、数据库

数据库使用Oracle 10g 32位,存在一张表STU(学生表)。 
这里写图片描述

二、项目结构图

这里写图片描述

三、关键代码

Stu (bean)

package sample.bean;

import java.sql.Timestamp;

public class Stu {

    private int stuNo;
    private String stuName;
    private Timestamp createTime;

    public int getStuNo() {
        return stuNo;
    }
    public void setStuNo(int stuNo) {
        this.stuNo = stuNo;
    }
    public String getStuName() {
        return stuName;
    }
    public void setStuName(String stuName) {
        this.stuName = stuName;
    }
    public Timestamp getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Timestamp createTime) {
        this.createTime = createTime;
    }

}
  •  

StuDao

public class StuDao {

    /**
     * 插入stu表记录(PreparedStatement),效率更高,更安全
     */
     public void testInsertStuPs(Stu stu) {
        Connection conn = DBUtil.getConnection(); // 创建数据库连接
        PreparedStatement ps = null;// 创建PreparedStatement对象
        try {
            System.out.println("=========连接成功===============");
            String sql = "insert into stu values(?,?,?)";
            ps = conn.prepareStatement(sql); // 获取PreparedStatement对象
            ps.setInt(1, stu.getStuNo());
            ps.setString(2, stu.getStuName());
            ps.setTimestamp(3, stu.getCreateTime());

            int rs = ps.executeUpdate();// 执行更新语句
            if (rs != 0) {
                System.out.println("insert success");
            } else {
                System.out.println("insert fail");
            }

        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DBUtil.closePreparedStatement(ps);
            DBUtil.closeConnection(conn);
        }
    }

     /**
     * 查询stu表记录
     */
    public Stu testSelectStuByNo(int stuNo) {
        Connection conn = DBUtil.getConnection(); // 创建数据库连接
        PreparedStatement statement = null;// 创建statement对象
        ResultSet result = null;// 创建结果集ResultSet
        Stu stu = new Stu();
        try {
            String sql = "select * from stu where stuno=?";
            statement = conn.prepareStatement(sql); // 获取PreparedStatement对象
            statement.setInt(1, stuNo);
            result = statement.executeQuery();
            if (result.next()) {
                stu.setStuNo(result.getInt(1));
                stu.setStuName(result.getString(2));
                stu.setCreateTime(result.getTimestamp(3));
            }

        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DBUtil.closeResultSet(result);
            DBUtil.closePreparedStatement(statement);
            DBUtil.closeConnection(conn);
        }
        return stu;
    }
  •  

TestFormat

public class TestFormat {

    //插入学生记录
    @Test
    public void testInsert() {

        Stu stu = new Stu();
        stu.setStuNo(15);
        stu.setStuName("dalin");

        ////将String类型格式化为timestamp
        String date = "2009-07-16T19:20"; //  输入参数
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm"); 
         try {
            Date dt = sdf.parse(date);
            stu.setCreateTime(new Timestamp(dt.getTime()));
        } catch (ParseException e) {
            e.printStackTrace();
        }

        StuDao stuDao = new StuDao();
        stuDao.testInsertStuPs(stu);
    }

    //根据学生编号查询学生记录
    @Test
    public void testSelectByNo(){
        StuDao stuDao = new StuDao();
        Stu stu = stuDao.testSelectStuByNo(15);

        //将timestamp类型格式化为String
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm");
        System.out.println(stu.getCreateTime()); //2009-07-16 19:20:00.0
        System.out.println(sdf.format(stu.getCreateTime())); //2009/07/16 19:20
    }

}

 文章转自:https://blog.csdn.net/psp0001060/article/details/78283787

你可能感兴趣的:(java)