JDBC(三)——数据库不同对象的操作

文章目录

时间

java.util.Date
子类:java.sql.Date 表示年月日
子类:java.sql.Time 表示时分秒
子类:java.sql.Timestamp 表示年月日时分秒(时间戳)

定义:

//java.sql.Date
Date date = new Date(System.currentTimeMillis());//当前时间
//java.sql.Timestamp
Timestamp time = new Timestamp(System.currentTimeMillis());

操作:
数据库中要比较日期时,需要自己将日期格式转成long类型数据,再形成Date对象。

public long dateToLong(String dateStr){
	DateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
	long time = -1;
	try {
        time = format.parse(dateStr).getTime();
    } catch (ParseException e) {
        e.printStackTrace();
    }
    return time;
}

文本

CLOB(Character Large Object)

  • 用来储存大量的文本数据
  • 通常以流的方式来处理。

Mysql中相关类型:

  • TINYTEXT 最大长度为255(2^8 - 1)字符的Text列
  • TEXT 最大长度为65535(2^16 - 1)字符的Text列
  • MEDIUMTEXT 最大长度为16777215(2^24 - 1)字符的Text列
  • LONGTEXT 最大长度为4GB(2^32 - 1)字符的Text列

在setClob()方法中,第二个参数是一个流。

getClob()得到Clob对象,Clob对象有getCharacterStream()方法获得字符流。

二进制

二进制BLOB的用法和大文本字符CLOB的用法完全一样(只要把CLOB改成BLOB)。

//存
ps = con.prepareStatement("insert into student(Name,head) value (?,?) ");
ps.setString(1,"王二狗");
ps.setBlob(2,new FileInputStream("d:/icon.jpg"));
ps.execute();

//取
ps = con.prepareStatement("select * from student where Name = ?");
ps.setString(1,"王二狗");

rs = ps.executeQuery();
while(rs.next()){
	Blob b = rs.getBlob("head");
	//需要定义输入流
	is = b.getBinaryStream();
	//需要定义输出流
	os = new FileOutputStream("d:/a.jpg");
	int temp = 0;
	while((temp = is.read()) != -1){
		os.write(temp);
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值