一 理解需求
二 根据需求文档,我们画出程序框架图
三 创建一个web项目
四 创建web层
五 引入hibernate,使用手动的方法来开发domain和对象关系文件
六 配置文件
七 写成工具类
八 测试一下看看能否映射成功
九 使用接口来解耦web层和业务层
1 BaseServiceImp
package com.sina.service.imp;
import java.io.Serializable;
import com.sina.service.inter.BaseInterface;
import com.sina.util.HibernateUtil;
public abstract class BaseServiceImp implements BaseInterface {
public Object findById(Class clazz, Serializable id) {
// TODO Auto-generated method stub
return HibernateUtil.findById(clazz, id);
}
//根据id删除...
}
2 MessageServiceImp
package com.sina.service.imp;
import java.util.List;
import com.sina.domain.Message;
import com.sina.domain.Users;
import com.sina.service.inter.BaseInterface;
import com.sina.service.inter.MessageServiceInter;
import com.sina.util.HibernateUtil;
public class MessageServiceImp extends BaseServiceImp implements MessageServiceInter {
public List<Message> showMessage(Users user) {
// TODO Auto-generated method stub
String hql="from Message where getter.userid=? or getter.userid=4";
String parameters[]={user.getUserid()+""};
List<Message> messages=HibernateUtil.executeQuery(hql, parameters);
return messages;
}
}
3 UsersServiceImp
package com.sina.service.imp;
import java.util.List;
import com.sina.domain.Users;
import com.sina.service.inter.UsersServiceInter;
import com.sina.util.HibernateUtil;
import com.sina.util.MyTools;
//这个一个业务层的类,完成对users domian对象的各种操作.
public class UsersServiceImp extends BaseServiceImp implements UsersServiceInter{
// 验证用户是否合法
/**
* @author 顺平
* @function: 完成用户验证
* @参数说明
* @return 如果验证合法,返回完整的user信息,如果失败返回null
*/
public Users checkUser(Users user) {
String hql = "from Users where userid=? and userpwd=?";
String parameters[] = { user.getUserid() + "",
MyTools.MD5(user.getUserpwd()) };
// 这里体现hibernate的鲁棒性
List<Users> list = HibernateUtil.executeQuery(hql, parameters);
if (list.size() == 0) {
return null;
} else {
return list.get(0);
}
}
}
4 BaseInterface
package com.sina.service.inter;
public interface BaseInterface {
// 把一些通用的方法,声明到该基础接口
// 通过id号,来获取一个对象实例
public Object findById(Class clazz, java.io.Serializable id);
// findById(Users.class,12);//因为我们所有的包装类都实现了该接口
}
5 MessageServiceInter
package com.sina.service.inter;
import java.util.List;
import com.sina.domain.Message;
import com.sina.domain.Users;
public interface MessageServiceInter extends BaseInterface {
// 显示用户接收到的所有message
public List<Message> showMessage(Users user);
}
6 UsersServiceInter
package com.sina.service.inter;
import com.sina.domain.Users;
public interface UsersServiceInter extends BaseInterface {
// 这里定义方法
public Users checkUser(Users user);
}
十 测试结果