已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Hibernate+Spring彻底搞定Clob、Blob的存取摘要:本文通过一个实例讲述如何通过Spring2+Hibernate3来快捷操作数据库中的Lob字段。环境:Oracle10g、Srping2、Hibernate3、JUint4 说明:由于时间紧迫,没有详细写出思路。运行一下例子就明白了。 一、创建实体并添加Xdoclet的Hibernate标签 /* * author leizhimin * hibernate.mapping default-lazy=false * hibernate.meta attribute=class-description value=工作日志 * hibernate.class table=rc_gzrz */public class WorkNote private Long id; /标识 private Date workDate; /日期 private String weather; /天气 private String content; /日志内容(Clob) private String state; /日志状态 private Long orgId; /机构id private Long userId; /用户id private Date createDate; /创建日期 private byte image; /图片 public static final String WORKNOTE_BLANK = 00; /未填写 public static final String WORKNOTE_FULL = 11; /已填写 /* * hibernate.id generator-class=sequence column=BS * hibernate.meta attribute=field-description value=标识 * hibernate.generator-param name=sequence value=SEQ_GW */ public Long getId() return id; public void setId(Long id) this.id = id; /* * perty column=workDate not-null=false type=timestamp * hibernate.meta attribute=field-description value=工作日期 */ public Date getWorkDate() return workDate; public void setWorkDate(Date workDate) this.workDate = workDate; /* * perty column=weather not-null=false length=24 * hibernate.meta attribute=field-description value=天气 */ public String getWeather() return weather; public void setWeather(String weather) this.weather = weather; /* * perty column=content not-null=false type=text * hibernate.meta attribute=field-description value=内容 */ public String getContent() return content; public void setContent(String content) this.content = content; /* * perty column=state not-null=false length=2 * hibernate.meta attribute=field-description value=状态 */ public String getState() return state; public void setState(String state) this.state = state; /* * perty column=orgId type=long * hibernate.meta attribute=field-description value=机构id */ public Long getOrgId() return orgId; public void setOrgId(Long orgId) Id = orgId; /* * perty column=userId type=long * hibernate.meta attribute=field-description value=用户id */ public Long getUserId() return userId; public void setUserId(Long userId) this.userId = userId; /* * perty column=createDate not-null=false type=timestamp * hibernate.meta attribute=field-description value=创建日期 */ public Date getCreateDate() return createDate; public void setCreateDate(Date createDate) this.createDate = createDate; /* * perty column=image type=blob not-null=false * hibernate.meta attribute=field-description value=图片 */ public byte getImage() return image; public void setImage(byte image) this.image = image; 二、通过XDoclet生成Mapping,并修正lob映射的类型为Spring提供的类型 工作日志 标识 SEQ_GW 工作日期 天气 内容 状态 机构id 用户id 创建日期 图片 三、通过Mapping 用XDoclet生成数据库(Oracle)脚本,并建表 drop table rc_gzrz cascade constraints; create table rc_gzrz ( BS number(19,0) not null, workDate timestamp, weather varchar2(24 char), content clob, state varchar2(2 char), orgId number(19,0), userId number(19,0), createDate timestamp, image blob, primary key (BS) ); comment on table rc_gzrz is 工作日志; comment on column rc_gzrz.BS is 标识; comment on column rc_gzrz.workDate is 工作日期; comment on column rc_gzrz.weather is 天气; comment on column rc_gzrz.content is 内容; comment on column rc_gzrz.state is 状态; comment on column rc_Id is 机构id; comment on column rc_gzrz.userId is 用户id; comment on column rc_gzrz.createDate is 创建日期; comment on column rc_gzrz.image is 图片; 四、创建DAO层 /* * Created by IntelliJ IDEA. * User: leizhimin * Date: 2007-11-16 * Time: 10:55:50 * To change this template use File | Settings | File Templates. */public interface WorkNoteDAO extends CommonDAO /* * 根据日期查询工作日志 * * param workDate 工作日期 * param userId 用户id * param orgId 机构id * param sp 分页对象 * return List */ public List findWorkNoteByDate(Date workDate, Long userId, Long orgId, SplitPage sp); /* * 根据状态查询工作日志 * * param state 日志状态 * param userId 用户id * param orgId 机构id * param sp 分页对象 * return List */ public List findWorkNoteByState(String state, Long userId, Long orgId, SplitPage sp); /* * Created by IntelliJ IDEA. * User: leizhimin * Date: 2007-11-16 * Time: 10:56:00 * To change this template use File | Settings | File Templates. */public class WorkNoteDAOImpl extends CommonDAOImpl implements WorkNoteDAO public List findWorkNoteByDate(Date workDate, Long userId, Long orgId, SplitPage sp) return null; public List findWorkNoteByState(String state, Long userId, Long orgId, SplitPage sp) return null; 五、创建带JTA事务控制的业务service层 /* * Created by IntelliJ IDEA. * User: leizhimin * Date: 2007-11-16 * Time: 16:43:57 * To change this template use File | Settings | File Templates. */public interface OfficeService public void saveWorkNote(WorkNote workNote); public void updateWorkNote(WorkNote workNote); /* * Created by IntelliJ IDEA. * User: leizhimin * Date: 2007-11-16 * Time: 16:45:54 * To change this template use File | Settings | File Templates. */public class OfficeServiceImpl implements OfficeService private WorkNoteDAO workNoteDAO; public WorkNoteDAO getWorkNoteDAO() return workNoteDAO; public void setWorkNoteDAO(WorkNoteDAO workNoteDAO) this.workNoteDAO = workNoteDAO; public void saveWorkNote(WorkNote workNote) this.workNoteDAO.saveObject(workNote); public void updateWorkNote(WorkNote workNote) this.workNoteDAO.updateObject(workNote); 六、书写单元测试,并运行/* * Created by IntelliJ IDEA. * User: leizhimin * Date: 2007-11-16 * Time: 16:49:17 * To change this template use File | Settings | File Templates. */public class TestOffice extends TestCase public void test_worknote_save() OfficeService officeService = (OfficeService) ContextHelper.getContext().getBean(o
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026中铝数为(成都)科技有限责任公司社会招聘笔试历年参考题库附带答案详解
- 2025河南南阳市唐河县属国有企业招聘(第7号)笔试历年参考题库附带答案详解
- 贵州省遵义市凤冈县2025年公开招聘事业单位工作人员及总笔试历年典型考题及考点剖析附带答案详解
- 云南红河州2025年下半年事业单位公开招聘工作人员考试笔试历年典型考题及考点剖析附带答案详解
- 【长沙】2025年湖南长沙理工大学第二批公开招聘工作人员37人笔试历年典型考题及考点剖析附带答案详解
- 【文昌】2025年文昌市卫生健康系统事业单位考核招聘专技人员(1号)笔试历年典型考题及考点剖析附带答案详解
- 【宁波】2025年度宁波市江北区卫生健康系统公开招聘紧缺岗位事业编制工作人员笔试历年典型考题及考点剖析附带答案详解
- 仓储货物分区分类存储管控标准
- 计算机维修工岗前规程考核试卷含答案
- 涂装预处理工创新应用能力考核试卷含答案
- 2025中核财务有限责任公司招聘笔试历年常考点试题专练附带答案详解2套试卷
- 2026年无锡职业技术学院单招职业适应性考试必刷测试卷及答案1套
- 消防酒店应急预案
- 《管理伦理学》课件
- 汛期安全行车教育培训课件
- GB/T 16997-2025胶粘剂主要破坏类型的表示法
- 2025年全国工程测量员中级理论考试真题与模拟试题(附答案)
- 3.3细胞核的结构和功能 课件(内嵌视频) 高一生物(人教版)必修1
- 大型藻类栽培工专业技能考核试卷及答案
- 医院RCA分析实施指南
- 呼吸道核酸检测课件
评论
0/150
提交评论