系统保存客户操作历史记录

    在实习中分配到的一个任务:保存客户操作历史记录——须将用户操作设计到的实体对象存入数据库。

    一开始想到的是Java Serializatoin来进行处理这一操作:将javabean序列化为字节数组,再存入数据库中。但是在实践的过程中发现,使用oracle存取byte[]实在是非常纠结的事情,将byte[]转化为String则会将对象破坏掉,无法转回。

   最后采取的解决方案是引入了google的Gson包,Gson包提供了将对象转换为json字符串和转回的方法。实现了这个功能。

   以下是我写的LogService中的调用gson的代码:

/**
	 * 对象转化为json字符串
	 * @param Object 对象
	 * @return String 转化所得字符串
	 */
	public String object2String(Object o){
		try{
		return GsonProducer.getGson().toJson(o);
		}catch(Exception e){System.out.println(e.getMessage());}
		return null;
	}
	
	/**
	 * json字符串转化为对象
	 * @param  objectString 对象转化所得字符串
	 * @param  className 对象的完整类名
	 * @return Object 对象
	 */
	public Object string2Object(String objectString,String className){
		try {
			return GsonProducer.getGson().fromJson(objectString, Class.forName(className));
		} catch (JsonSyntaxException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return null;
	}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值