一、数据库
数据库使用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