分类: Java
2008-11-21 10:21:46
附:源代码
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"
"">
<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
/**
*
* @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
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;
}
}