fuliangliang的Blog

合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。

fuliangliangID:fuliangliang
60296次访问,排名1613好友0人,关注者2
fuliangliang的文章
原创 95 篇
翻译 0 篇
转载 25 篇
评论 24 篇
fuliang的公告

我的联系方式:20542606

Email:fuliangliang@gmail.com


最近评论
tbsc3:我也遇到了这个问题,如果配1 M就有用,大于2M就还是默认的 不知道你有没有解决呀,教教我
zhoufeng345678:Thank u!
lyzhouhailong:很好!
GoEastward:顶下,SHH2,不错的例子,如果能配上分页Book列表的分页显示界面例子就更好了。
uhlanme:写得不错,参考了,呵呵
文章分类
收藏
    相册
    净月潭一日游
    页面图片
    日历
    文章收藏
    我的JavaEye博客
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 Spring+hibernate+DWR整合收藏

    新一篇: Ajax+Struts2+Spring+Hibernate整合 | 旧一篇: 尝试了一下JAXB2.0

    首先,建一个web project,然后添加对hibernate和spring的支持,我们使用的是hibernate3.1和spring2.0,然后导入dwr.jar和commons-pool-1.3.jar(不知道myeclipse怎么搞的,添加Spring功能支持的时候就有了commons-dbcp.jar,居然没有其依赖的commons-pool-x.jar,只好单独添加了,另外,需要将Spring2.0 AOP Liberaries里的asm2.2.3.jar删除,因为好像和Hiberate中的生成代理用的asm.jar冲突,我把Spring2.0 AOP Liberaries排到最后仍然有冲突,所以只好删掉了,不知道大家遇到过这种情况么)。我们使用myeclise自带的Derby数据库,在里面建一个表BOOK:
    ID bigint primary key,autoincrement
    NAME varchar(20)
    ISBM varchar(20)
    AUTHOR varchar(15)
    然后利用myeclipse的hibernate反向工程生成领域模型:Book.java, DAO:BookDAO.jar, Book 的映射文件Book.hbm.xml:
    生成的代码及配置文件如下:
    Book.java:
    package edu.jlu.fuliang.domain;
    /**
     * Book generated by MyEclipse Persistence Tools
     
    */


    public class Book implements java.io.Serializable {

        
    // Fields


        
    private Long id;
        
    private
     String name;
        
    private
     String isbm;
        
    private
     String author;

        
    // Constructors


        
    /** default constructor */
        
    public Book() {
        }


        
    /** minimal constructor */
        
    public Book(Long id, String name, String isbm) {
            
    this.id =
     id;
            
    this.name =
     name;
            
    this.isbm =
     isbm;
        }


        
    /** full constructor */
        
    public Book(Long id, String name, String isbm, String author) {
            
    this.id =
     id;
            
    this.name =
     name;
            
    this.isbm =
     isbm;
            
    this.author =
     author;
        }


        
    // Property accessors

        
    public Long getId() {
            
    return this
    .id;
        }


        
    public void setId(Long id) {
            
    this.id =
     id;
        }


        
    public String getName() {
            
    return this
    .name;
        }


        
    public void setName(String name) {
            
    this.name =
     name;
        }


        
    public String getIsbm() {
            
    return this
    .isbm;
        }


        
    public void setIsbm(String isbm) {
            
    this.isbm =
     isbm;
        }


        
    public String getAuthor() {
            
    return this
    .author;
        }


        
    public void setAuthor(String author) {
            
    this.author =
     author;
        }

        
    public String toString(){
            
    return "[id=" + id + ",name=" + name + ",isbm=" + isbm + ",author=" + author + "]"
    ;
        }

    }

    edu.jlu.fuliang.dao.BookDAO.java:

    package edu.jlu.fuliang.dao;

    import
     java.util.List;
    import
     org.apache.commons.logging.Log;
    import
     org.apache.commons.logging.LogFactory;
    import
     org.hibernate.LockMode;
    import
     org.springframework.context.ApplicationContext;
    import
     org.springframework.orm.hibernate3.support.HibernateDaoSupport;

    import
     edu.jlu.fuliang.domain.Book;

    /**
     * Data access object (DAO) for domain model class Book.
     * 
     * 
    @see edu.jlu.fuliang.domain.Book
     * 
    @author
     MyEclipse Persistence Tools
     
    */


    public class BookDAO extends HibernateDaoSupport {
        
    private static final Log log = LogFactory.getLog(BookDAO.class
    );
        
    // property constants

        public static final String NAME = "name";
        
    public static final String ISBM = "isbm"
    ;
        
    public static final String AUTHOR = "author"
    ;

        
    protected void initDao() 
    {
            
    // do nothing

        }


        
    public void save(Book transientInstance) {
            log.debug(
    "saving Book instance"
    );
            
    try 
    {
                getHibernateTemplate().save(transientInstance);
                log.debug(
    "save successful"
    );
            }
     catch (RuntimeException re) {
                log.error(
    "save failed"
    , re);
                
    throw
     re;
            }

        }


        
    public void delete(Book persistentInstance) {
            log.debug(
    "deleting Book instance"
    );
            
    try 
    {
                getHibernateTemplate().delete(persistentInstance);
                log.debug(
    "delete successful"
    );
            }
     catch (RuntimeException re) {
                log.error(
    "delete failed"
    , re);
                
    throw
     re;
            }

        }


        
    public Book findById(java.lang.Long id) {
            log.debug(
    "getting Book instance with id: " +
     id);
            
    try 
    {
                Book instance 
    =
     (Book) getHibernateTemplate().get(
                        
    "edu.jlu.fuliang.domain.Book"
    , id);
                
    return
     instance;
            }
     catch (RuntimeException re) {
                log.error(
    "get failed"
    , re);
                
    throw
     re;
            }

        }


        
    public List findByExample(Book instance) {
            log.debug(
    "finding Book instance by example"
    );
            
    try 
    {
                List results 
    =
     getHibernateTemplate().findByExample(instance);
                log.debug(
    "find by example successful, result size: "

                        
    + results.size());
                
    return
     results;
            }
     catch (RuntimeException re) {
                log.error(
    "find by example failed"
    , re);
                
    throw
     re;
            }

        }


        
    public List findByProperty(String propertyName, Object value) {
            log.debug(
    "finding Book instance with property: " +
     propertyName
                    
    + ", value: " +
     value);
            
    try 
    {
                String queryString 
    = "from Book as model where model."

                        
    + propertyName + "= ?";
                
    return
     getHibernateTemplate().find(queryString, value);
            }
     catch (RuntimeException re) {
                log.error(
    "find by property name failed"
    , re);
                
    throw
     re;
            }

        }


        
    public List findByName(Object name) {
            
    return
     findByProperty(NAME, name);
        }


        
    public List findByIsbm(Object isbm) {
            
    return
     findByProperty(ISBM, isbm);
        }


        
    public List findByAuthor(Object author) {
            
    return
     findByProperty(AUTHOR, author);
        }


        
    public List findAll() {
            log.debug(
    "finding all Book instances"
    );
            
    try 
    {
                String queryString 
    = "from Book"
    ;
                
    return
     getHibernateTemplate().find(queryString);
            }
     catch (RuntimeException re) {
                log.error(
    "find all failed"
    , re);
                
    throw
     re;
            }

        }


        
    public Book merge(Book detachedInstance) {
            log.debug(
    "merging Book instance"
    );
            
    try 
    {
                Book result 
    =
     (Book) getHibernateTemplate().merge(detachedInstance);
                log.debug(
    "merge successful"
    );
                
    return
     result;
            }
     catch (RuntimeException re) {
                log.error(
    "merge failed"
    , re);
                
    throw
     re;
            }

        }


        
    public void attachDirty(Book instance) {
            log.debug(
    "attaching dirty Book instance"
    );
            
    try 
    {
                getHibernateTemplate().saveOrUpdate(instance);
                log.debug(
    "attach successful"
    );
            }
     catch (RuntimeException re) {
                log.error(
    "attach failed"
    , re);
                
    throw
     re;
            }

        }


        
    publ