Hibernate综合运用内部留言本(四)
2017-12-01 19:16
183 查看
一 理解需求
二 根据需求文档,我们画出程序框架图
三 创建一个web项目
四 创建web层
五 引入hibernate,使用手动的方法来开发domain和对象关系文件
六 配置文件
七 写成工具类
八 测试一下看看能否映射成功
九 使用接口来解耦web层和业务层
1 BaseServiceImp
2 MessageServiceImp
3 UsersServiceImp
4 BaseInterface
5 MessageServiceInter
6 UsersServiceInter
十 测试结果
二 根据需求文档,我们画出程序框架图
三 创建一个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); }
十 测试结果
相关文章推荐
- Hibernate综合运用内部留言本(一)
- Hibernate综合运用内部留言本(二)
- Hibernate综合运用内部留言本(三)
- Hibernate综合运用内部留言本(五)
- Hibernate综合运用内部留言本(六)
- 内部类综合运用 温室的运作(策略模式)
- 博为峰Java技术文章 ——JavaSE Swing 按钮组件的综合运用
- Hibernate配置文件在单元测试中的灵活运用
- UVA12096,STL stack和set,Map的综合运用
- JPA-hibernate-oracle的运用
- 使用MyEclipse中用Hibernate反向工程生成的DAO会发生对象无法存储到数据库的现象,原因是没有运用事务。
- java打印日历---Calendar类的综合运用
- 运用Hibernate机制,对mysql数据库中的表进行增,删,改,查
- ios中封装网络和tableview的综合运用
- 英语句型之综合运用篇
- 最大流最小割的综合运用
- set综合运用
- SSH网站开发(9)Ueditor运用在SpringMVC+Spring+Hibernate中
- Repeater嵌套,增删改查综合运用
- 书店管理系统---User模块.Dao层(JavaSE综合运用(一))