- 浏览: 95160 次
- 性别:
- 来自: 兰州
文章分类
最新评论
-
zyz251314:
43385607 写道我想请问一下 非主键关联 怎么设置 ...
hibernate many to one 非主键关联 -
albort:
...
增强Eclipse ,MyEclipse 的代码自动提示功能 -
qq360205404:
晕死
ExtJs Extend的学习 -
xiaofan_0204:
难懂!
ExtJs Extend的学习 -
ll_3581:
有点晕
ExtJs Extend的学习
一、创建实体并添加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; } /** * @hibernate.property 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; } /** * @hibernate.property 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; } /** * @hibernate.property 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; } /** * @hibernate.property 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; } /** * @hibernate.property column="orgId" type="long" * @hibernate.meta attribute="field-description" value="机构id" */ public Long getOrgId() { return orgId; } public void setOrgId(Long orgId) { this.orgId = orgId; } /** * @hibernate.property column="userId" type="long" * @hibernate.meta attribute="field-description" value="用户id" */ public Long getUserId() { return userId; } public void setUserId(Long userId) { this.userId = userId; } /** * @hibernate.property 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; } /** * @hibernate.property 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提供的类型
<?xml version="1.0" encoding="gb2312"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping default-lazy="false" > <class name="com.topsoft.oa.routine.domain.office.entity.WorkNote" table="rc_gzrz" > <meta attribute="class-description">工作日志</meta> <id name="id" column="BS" type="java.lang.Long" > <meta attribute="field-description">标识</meta> <generator class="sequence"> <param name="sequence">SEQ_GW</param> <!-- To add non XDoclet generator parameters, create a file named hibernate-generator-params-WorkNote.xml containing the additional parameters and place it in your merge dir. --> </generator> </id> <property name="workDate" type="timestamp" update="true" insert="true" column="workDate" not-null="false" > <meta attribute="field-description">工作日期</meta> </property> <property name="weather" type="java.lang.String" update="true" insert="true" column="weather" length="24" not-null="false" > <meta attribute="field-description">天气</meta> </property> <property name="content" type="org.springframework.orm.hibernate3.support.ClobStringType" update="true" insert="true" column="content" not-null="false" > <meta attribute="field-description">内容</meta> </property> <property name="state" type="java.lang.String" update="true" insert="true" column="state" length="2" not-null="false" > <meta attribute="field-description">状态</meta> </property> <property name="orgId" type="long" update="true" insert="true" column="orgId" > <meta attribute="field-description">机构id</meta> </property> <property name="userId" type="long" update="true" insert="true" column="userId" > <meta attribute="field-description">用户id</meta> </property> <property name="createDate" type="timestamp" update="true" insert="true" column="createDate" not-null="false" > <meta attribute="field-description">创建日期</meta> </property> <property name="image" type="org.springframework.orm.hibernate3.support.BlobByteArrayType" update="true" insert="true" column="image" not-null="false" > <meta attribute="field-description">图片</meta> </property> <!-- To add non XDoclet property mappings, create a file named hibernate-properties-WorkNote.xml containing the additional properties and place it in your merge dir. --> </class> </hibernate-mapping> 三、通过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_gzrz.orgId 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("officeServiceProxy"); WorkNote workNote=new WorkNote(); workNote.setContent("http://lavasoft.blog.51cto.com/"); workNote.setOrgId(Long.parseLong("999")); workNote.setCreateDate(new Date()); byte[] b="lavasoft".getBytes(); workNote.setImage(b); officeService.saveWorkNote(workNote); } }
发表评论
-
JPA使用指南 javax.persistence的注解配置
2010-05-13 10:44 1525JPA注解持久化类很方便,需要jar包:ejb3-persis ... -
使用spring2.5注释驱动的IOC功能
2008-10-31 11:03 1097注释配置相对于 XML 配置具有很多的优势: 它可以充分利用 ... -
hibernate many to one 非主键关联
2008-08-21 14:19 16004hibernate在默认情况下,从表跟主表的关联,是通过主键来 ... -
struts 2中使用json 返回数据给Extjs
2008-04-15 17:06 8553JSON插件提供了一种名为json的ResultType,一旦 ... -
struts2中struts.xml 非默认路径的配置
2008-04-15 17:19 2467struts2中的配置文件struts.xml, ... -
spring中连接池的配置
2008-06-06 11:20 9300spring中连接池的配置在默认通过myeclipse生成的配 ... -
Spring+Hibernate+Proxool配置
2008-06-06 11:55 2846Spring+Hibernate+Proxool配置 ...
相关推荐
一个完整的工程,主要功能为:spring+hbernate对clob、blob字段的处理 包括:数据脚本、典型的SSH框架处理,以及spring、hibernate数据批量保存等功能源码、所用到的lib包 数据环境为:oracle 10G 开发:Mycelipse5.1...
DELPHI的CLOB和BLOB存取处理
是我自己验证过的 用的是oracle10数据库 文件里面有具体的配置。
CLOB、BLOB___CLOB与BLOB的区别
spring 中对大数据的处理,包括clob,blob的数据。比之jdbc下简便很多。
使用Hibernate映射Blob,Clob字段,并对这些字段完成存,取功能
修改clob blob 字段 修改clob blob 字段 修改clob blob 字段
Mybatis 处理 CLOB、BLOB 类型数据
hibernate存取oracle的clob
J2EE开发中,经常会遇到存储大文本的文字信息,而oracle数据库的vachar字段最大能存储4000个字节,存储更大的信息必须使用clob或blob字段,本文档就是针对j2ee开发中对colb字段操作的实现。
Oracle导出Clob,Blob等大字段工具,自己写的工具,方便大家下载使用
oracle的jdbc驱动程序,用这个版本的操作Clob,blob类型的数据很方便。 博文链接:https://zhenjw.iteye.com/blog/173419
NULL 博文链接:https://sjsky.iteye.com/blog/1154916
Hibernate对BLOB CLOB操作,详细的操作说明
NULL 博文链接:https://sxpujs.iteye.com/blog/368960
在hibernate+microsoft sqlserver中使用Blob,和Clob,
oracle中使用jdbc读写clob字段,很多细节介绍,内容全面。
Oracle,Clob,Blob数据操作例子