易截截图软件、单文件、免安装、纯绿色、仅160KB

通过ibatis的blob 存储java的hashmap

 这几天测试blob获取和存储的时候,被卡了很久,最后才发现是占用了关键字导致无法获取结果,血的教训啊.
以后起名字要用最恶心的,不要用最方便的了.闲话少说,java的hashmap是不能直接存储到数据库中的.
本地数据库为mysql,里面有blob的类型可供使用.方法也很简单,上代码
数据库建表
CREATE TABLE `test` (
`id` varchar(32) NOT NULL,
`fieldarr` blob,
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Java类
public class Test implements Serializable{
private String id;
private byte[] fields;
public String getId(){
return id;
}
public void setId(String id){
this.id = id;
}
public byte[] getFields(){
return fields;
}
public void setFields(byte[] fields){
this.fields = fields;
}
}

然后配置ibatis
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="Test">
<!-- Use type aliases to avoid typing the full classname every time. -->
<typeAlias alias="Test" type="bruce.Test"/>
<resultMap id="FieldResult" class="Test">
<result property="id" column="ID"/>
<result property="fields" column="FIELDARR" jdbcType="BLOB" />
</resultMap>
<select id="selectTestByid" parameterClass="string" resultMap="FieldResult">
<!--[CDATA[
select * from test
where ID = #value#
]]>
</select>
<update id="updateTest" parameterClass="Test">
<![CDATA[
update test set
FIELDARR = #fields#
where
ID = #id#
]]-->
</update>

</sqlMap>

dao正常写就可以
public List<Test> selectTestByid(String id) throws SQLException {


相关文档:

java入门

 Java学习从入门到精通 
一、 JDK (Java Development Kit) 
JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的J ......

Java中static、this、super、final 的用法

 本篇旨在帮助准备学习Java以及刚接触Java的朋友认识、掌握和使用static、this、super、final这几个关键字的使用。Java博大精深,我也是一位正在学习和使用Java的爱好者,文中难免有不妥之处,欢迎指正。
一、static
 请先看下面这段程序:
public class Hello{
  public static void main(String[] args){ ......

Java调用C/C++ – JNI

昨天才看到,但是遇到一些问题,今天解决了,记下……(参考:http://netbeans.org/kb/55/beginning-jni-part1.html)
我用的是Netbeans 6.7,但是和其他的也应该大同小异吧。 基本流程: Java这边的:
创建java文件(带native的),还要记得在类中加入:System.loadLibrary(xxx) 。
然后用javah来生成C/ ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号