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

一 理解需求

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

三 创建一个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);
}



十 测试结果
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值