您的位置:首页 > 其它

Hibernate综合运用内部留言本(四)

2017-12-01 19:16 183 查看
一 理解需求

二 根据需求文档,我们画出程序框架图

三 创建一个web项目

四 创建web层

五 引入hibernate,使用手动的方法来开发domain和对象关系文件

六 配置文件

七 写成工具类

八 测试一下看看能否映射成功

九 使用接口来解耦web层和业务层
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删除...
}


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;
}
}


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);
}
}
}


BaseInterface
package com.sina.service.inter;
public interface BaseInterface {
// 把一些通用的方法,声明到该基础接口
// 通过id号,来获取一个对象实例
public Object findById(Class clazz, java.io.Serializable id);
// findById(Users.class,12);//因为我们所有的包装类都实现了该接口
}


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);
}


UsersServiceInter
package com.sina.service.inter;
import com.sina.domain.Users;
public interface UsersServiceInter extends BaseInterface {
// 这里定义方法
public Users checkUser(Users user);
}


十 测试结果


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Hibernate