1 .总体设计:设计User 对象及相关实体配置文件,工具类(得到一个Session 对象),UserDao 接口(实现此接口即以操作数据库),编写主配置文件,编写测试类。
2 .UserDao 的设计,最初我想打算设计成通用Object 的操作,后来发现它的Session 对象操作都要传递一个对象,就设计成如下形式。内容如下:
package com.asm.dao;
import com.asm.domain.User;
public interface UserDao {
public void saveUser(User user);
public User queryById ( int id);
public User queryByName(String name);
public void update(User user);
public void delete(User user);
}
按此设计,意思是此类专门针对User 对象的数据库操作,传递User 对象,所以后面它的实现类的query 相关方法可以直接user = (User) s.get(User. class , name); 写name 为传递的参数,而我们知道操作的是User 对象,所以直接可以User.class 。 值得一提的是,在JDBC 操作中,delete, 传递id 这种值就可以实现删除,而Hibernate 的删除操作,必须传递一个对象,操作过程就是我们通过id 查出这个对象,再把这个对象传递给删除方法以供删除。而实事上也可以new 一个User 对象,并设定的id ,然后再把这个对象传递给删除方法。 但需要特别注意new 出的对象必须完成符合我们通过id 查出的对象。
3 .这个实例参照前面的相关,基本可以写出。以下几点需要注意:导包:Hibernate 包,数据库包;改写配置文件;查询方法的设计;注意事务,特别是“增删改”要注意事务。