免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1111 | 回复: 0
打印 上一主题 下一主题

Eclipse3.4.1开发基于Spring2.5+Hibernate3+Struts2项目(三) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-11-21 10:21 |只看该作者 |倒序浏览
续:
附:源代码
package com.snsoft.tutorial.domain;

/**
* TUser generated by hbm2java
*/
public class TUser implements java.io.Serializable {
    private static final long serialVersionUID = -6591585528232763040L;
   
    private int id;
   
    private String username;
   
    private String password;
   
    private String emaillist;
   
    public TUser() {
    }

    public TUser(int id) {
       this.id = id;
    }

    public TUser(int id, String username, String password, String emaillist) {
       this.id = id;
       this.username = username;
       this.password = password;
       this.emaillist = emaillist;
    }

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

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

    public String getUsername() {
       return this.username;
    }

    public void setUsername(String username) {
       this.username = username;
    }

    public String getPassword() {
       return this.password;
    }

    public void setPassword(String password) {
       this.password = password;
    }

    public String getEmaillist() {
       return this.emaillist;
    }

    public void setEmaillist(String emaillist) {
       this.emaillist = emaillist;
    }

}

xml version="1.0"?>
DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
                                   "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
3.2.2.GA -->
hibernate-mapping>
class catalog="tutorial" name="com.snsoft.tutorial.domain.TUser"
  schema="dbo" table="T_USER">
  id name="id" type="int">
   column name="ID"/>
   generator class="native"/>
  id>
  property generated="never" lazy="false" name="username" type="string">
   column length="50" name="USERNAME"/>
  property>
  property generated="never" lazy="false" name="password" type="string">
   column length="50" name="PASSWORD"/>
  property>
  property generated="never" lazy="false" name="emaillist" type="string">
   column length="500" name="EMAILLIST"/>
  property>
class>
hibernate-mapping>


package com.snsoft.tutorial.dao;

import org.hibernate.SessionFactory;

/*
* 这个接口定义了设置 SessionFactory 的方法,
* DAO接口应当扩展这个接口
*/
public interface ISessionFactoryIoC {
   
    /**
     * 通过IoC向DAO注入SessionFactory
     * @param sf
     */
    public void setSessionFactory(SessionFactory sf);

}

package com.snsoft.tutorial.dao;

import java.util.List;
import com.snsoft.tutorial.domain.TUser;

/**
* 用户表DAO接口定义
* @author Administrator
*
*/
public interface IUserDAO extends ISessionFactoryIoC {
   
    /**
     *
     * @param user
     * @return
     */
    public void addUser(TUser user);
   
    /**
     *
     * @param user
     * @return
     */
    public void delUser(TUser user);
   
    /**
     *
     * @param user
     * @return
     */
    public void updateUser(TUser user);
   
    /**
     *
     * @return
     */
    public List getUsers();
   
    /**
     *
     * @param id
     * @return
     */
    public TUser getUserByID(int id);
   
    /**
     *
     * @param username
     * @return
     */
    public TUser getUserByName(String username);
   
}

package com.snsoft.tutorial.dao;

import java.util.List;
import org.hibernate.SessionFactory;
import org.springframework.orm.hibernate3.HibernateTemplate;
import com.snsoft.tutorial.domain.TUser;

public class UserDAOImpl implements IUserDAO {
   
    private HibernateTemplate hibernate=null;

    /**
     * 由Spring框架通过外部IoC注入
     * 然后创建 HibernateTemplate 对象
     * 数据库操作通过 HibernateTemplate 对象实现
     */
    public void setSessionFactory(SessionFactory sf) {
       this.hibernate=new HibernateTemplate();
       this.hibernate.setSessionFactory(sf);     
    }   
   
    /**
     * 添加用户
     */
    public void addUser(TUser user) {
       this.hibernate.save(user);
    }

    /**
     * 删除用户
     */
    public void delUser(TUser user) {
       this.hibernate.delete(user);
    }
   
    /**
     * 通过ID查找用户
     */
    @SuppressWarnings("unchecked")
    @Override
    public TUser getUserByID(int id) {
       List list=this.hibernate.find("from TUser as user where user.id=?"
              ,new Object[]{id});
      
       if(list!=null && list.size()>0){
           return (TUser)list.get(0);
       }      
       return null;
    }
   
    /**
     * 返回所有用户
     */
    @SuppressWarnings("unchecked")
    @Override
    public List getUsers() {
       List list=this.hibernate.find("from TUser");
      
       if(list!=null && list.size()>0){
           return list;
       }            
       return null;
    }
   
    /**
     * 更新用户
     */
    @Override
    public void updateUser(TUser user) {
       this.hibernate.update(user);
    }

    /**
     * 根据用户名查找
     */
    @SuppressWarnings("unchecked")
    public TUser getUserByName(String username) {
       List list=this.hibernate.find("from TUser as user where user.username=?"
              ,new Object[]{username});
      
       if(list!=null && list.size()>0){
           return (TUser)list.get(0);
       }            
       return null;
    }

}



本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/45779/showart_1434973.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP