文档章节

struts+spring+hibernate的web应用【2】

ruyees
 ruyees
发布于 2014/10/05 11:47
字数 652
阅读 32
收藏 0
点赞 0
评论 0

第九部分:com.game.products.dao.hibernate包中新建继承HibernateDaoSupport

        ProductsMapDao类,并实现了ProductsDao接口。 代码如下:

package  com.game.products.dao.hibernate;

 import  java.sql.SQLException;
 import  java.util.Iterator;
 import  java.util.List;

 import  org.hibernate.HibernateException;
 import  org.hibernate.Query;
 import  org.hibernate.Session;
 import  org.springframework.orm.hibernate3.HibernateCallback;
 import  org.springframework.orm.hibernate3.support.HibernateDaoSupport;

 import  com.game.products.dao.iface.ProductsDao;
 import  com.game.products.model.Products;


 /** */ /** 
 *  @author  cwf
 *
  */ 
  public   class  ProductsMapDao  extends  HibernateDaoSupport  implements  ProductsDao   {

     public  ProductsMapDao()  {} 
 
      /** */ /** 
     * 函数说明:添加信息
     * 参数说明:对象 
     * 返回值:
      */ 
      public   void  addProduct(Products pd)   {
         this .getHibernateTemplate().save(pd);
    } 
 
      /** */ /** 
     * 函数说明:删除信息
     * 参数说明: 对象
     * 返回值:
      */ 
      public   void  deleteProduct(Products pd)   {
         this .getHibernateTemplate().delete(pd);
    } 
 
      /** */ /** 
     * 函数说明:获得所有的信息
     * 参数说明: 
     * 返回值:信息的集合
      */ 
      public  List getProducts()   {
        String sql = " FROM Products ORDER BY gameNameCn " ;
         return   this .getHibernateTemplate().find(sql);
    } 
    
     /** */ /** 
     * 函数说明:获得总行数
     * 参数说明: 
     * 返回值:总行数
      */ 
      public   int  getRows()   {
        String sql = " FROM Products ORDER BY gameNameCn " ;
        List list = this .getHibernateTemplate().find(sql);
         return  list.size();
    } 
    
     /** */ /** 
     * 函数说明:获得一段记录信息
     * 参数说明: 
     * 返回值:信息的集合
      */ 
      public  List getProducts( int  pageSize,  int  startRow)  throws  HibernateException   {
         final   int  pageSize1 = pageSize;
         final   int  startRow1 = startRow;
         return   this .getHibernateTemplate().executeFind( new  HibernateCallback()  {

             public  List doInHibernate(Session session)  throws  HibernateException, SQLException   {
                Query query = session.createQuery( " FROM Products ORDER BY gameNameCn " );
                query.setFirstResult(startRow1);
                query.setMaxResults(pageSize1);
                 return  query.list();
            } 
        } );
    } 
 
      /** */ /** 
     * 函数说明:获得一条的信息
     * 参数说明: ID
     * 返回值:对象
      */ 
      public  Products getProduct(String gameId)   {
         return  (Products) this .getHibernateTemplate().get(Products. class ,gameId);
    } 
 
      /** */ /** 
     * 函数说明:获得最大ID
     * 参数说明: 
     * 返回值:最大ID
      */ 
      public  String getMaxID()   {
        String sql = " SELECT MAX(gameId)+1 FROM Products   " ;
        String noStr  =   null ;
        List ll  =  (List)  this .getHibernateTemplate().find(sql);
        Iterator itr  =  ll.iterator();
         if  (itr.hasNext())   {
            Object noint  =  itr.next();
             if (noint  ==   null )  {
                noStr  =   " 1 " ;                
            } else  {
                noStr  =  noint.toString();
            } 
        } 
        
         if (noStr.length() == 1 )  {
            noStr = " 000 " + noStr;
        } else   if (noStr.length() == 2 )  {
            noStr = " 00 " + noStr;
        } else   if (noStr.length() == 3 )  {
            noStr = " 0 " + noStr;
        } else  {
            noStr = noStr;
        } 
         return  noStr;
    } 
 
      /** */ /** 
     * 函数说明:修改信息
     * 参数说明: 对象
     * 返回值:
      */ 
      public   void  updateProductd(Products pd)   {
         this .getHibernateTemplate().update(pd);
    } 
 
      /** */ /** 
     * 函数说明:查询的所有信息
     * 参数说明: 集合
     * 返回值:
      */ 
      public  List queryProducts(String fieldname,String value)   {
        System.out.println( " value:  " + value);
        String sql = " FROM Products where  " + fieldname + "  like '% " + value + " %' " + " ORDER BY gameNameCn " ;
         return   this .getHibernateTemplate().find(sql);
    } 
    
     /** */ /** 
     * 函数说明:获得总行数
     * 参数说明: 
     * 返回值:总行数
      */ 
      public   int  getRows(String fieldname,String value)   {
        String sql = " FROM Products where  " + fieldname + "  like '% " + value + " %' " + " ORDER BY gameNameCn " ;
        List list = this .getHibernateTemplate().find(sql);
         return  list.size();
    } 
    
     /** */ /** 
     * 函数说明:查询的一段信息
     * 参数说明: 集合
     * 返回值:
      */ 
      public  List queryProducts(String fieldname,String value, int  pageSize,  int  startRow)   {
         final   int  pageSize1 = pageSize;
         final   int  startRow1 = startRow;
         final  String sql = " FROM Products where  " + fieldname + "  like '% " + value + " %' " + " ORDER BY gameNameCn " ;
         return   this .getHibernateTemplate().executeFind( new  HibernateCallback()  {

             public  List doInHibernate(Session session)  throws  HibernateException, SQLException   {
                Query query = session.createQuery(sql);
                query.setFirstResult(startRow1);
                query.setMaxResults(pageSize1);
                 return  query.list();
            } 
        } 
    } 
 
}

 

第十部分:com.game.bean.hibernate包中新建hibernate.cfg.xml,代码如下:

<? xml version="1.0" encoding="GB2312" ?> 
 <! DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd" > 
 < hibernate-configuration > 
     < session-factory > 
         < property  name ="dialect" > org.hibernate.dialect.SQLServerDialect </ property > 
         < property  name ="show_sql" > true </ property > 
 
         < mapping  resource ="com/game/products/model/products.hbm.xml" ></ mapping > 
     </ session-factory > 
 </ hibernate-configuration >

 

至此,DAO层的代码已经编写完成。下一篇,将编写service层代码。

© 著作权归作者所有

共有 人打赏支持
ruyees
粉丝 3
博文 71
码字总数 0
作品 0
深圳
产品经理
JAVA SSH 框架介绍

SSH 为 struts+spring+hibernate 的一个集成框架,是目前较流行的一种JAVA Web应用程序开源框架。  Struts   Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的...

小梅菜鸟 ⋅ 2012/04/20 ⋅ 0

基于Struts+Spring+Hibernate的使用和部署

就现在WEB开发而言,J2EE企业级开发技术比较成熟,开发模式模式也比较繁多,较流行开发模式MVC更是普遍,而基于MVC模式开发的框架也是种类繁多,现在使用最多的可能就是SSH这三种框架,所以展...

chenruibing ⋅ 2015/08/18 ⋅ 0

java-学习路线

学习路线 java基础 java基础 java界面编程 java API java语法 AWT java IO 面向对象 事件机制 多线程 常见api Swing 网络编程 集合框架 反射注解 数据库开发 SQL基础 JDBC编程 JDBC高级 SQL基...

zhaoliang1131 ⋅ 2017/01/17 ⋅ 0

struts+spring+hibernate分别用到了什么设计模式

struts+spring+hibernate分别用到了什么设计模式,请大家知无不答,共同讨论。 并举例说明哪个框架的哪个地方用到了哪个java设计模式.

skyone ⋅ 2012/12/27 ⋅ 14

登陆界面不输密码点一次登陆出现一个用户名和密码不能为空(点n个出现n个)

环境ssh(struts+spring+hibernate) 编写好登陆界面什么都正常,就是点击登陆时无限的出现用户名和密码不能为空 错误原因:没有在action中配置多例,action默认是单例的 scope=“prototype...

lzw_me ⋅ 2014/05/29 ⋅ 0

想学习Struts+Spring+Hibernate给推荐本这样的书吧

想学习Struts+Spring+Hibernate 的整合开发 大家给推荐本这样的书吧 最好是新版的 谢谢了

帅气的鱼 ⋅ 2010/12/16 ⋅ 20

excel数据导入导出

各位中午好! 我现在做一个旅游管理系统,遇到一些问题。 如何实现页面点击按钮将EXCEL数据导入到数据中,另外,也能实现点击按钮实现将数据库表导出到EXCEL中。 我用的开发语言是JAVA,数据...

汪斌 ⋅ 2011/03/31 ⋅ 4

异常org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name java.lang.Long

使用了struts+spring+hibernate 在注入的是的时候发生org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name java.lang.Long。大侠帮忙看看......

深蓝的天空 ⋅ 2014/02/11 ⋅ 0

ssh三大框架对于新手先学哪个比较好点

学java的,但没有接触过ssh( struts+spring+hibernate),想问一句,先学哪个比较好点?推荐一些好点的书籍或视频也行,

奋斗的少年 ⋅ 2015/04/08 ⋅ 20

SSH框架总结

首先,SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活、易于扩展的多层Web应用程序。 集成SSH框架的系统从职责...

fatwowzb ⋅ 2014/03/16 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

android -------- 颜色的半透明效果配置

最近有朋友问我 Android 背景颜色的半透明效果配置,我网上看资料,总结了一下, 开发中也是常常遇到的,所以来写篇博客 常用的颜色值格式有: RGB ARGB RRGGBB AARRGGBB 这4种 透明度 透明度...

切切歆语 ⋅ 5分钟前 ⋅ 0

CentOS开机启动subversion

建立自启动脚本: vim /etc/init.d/subversion 输入如下内容: #!/bin/bash## subversion startup script for the server## chkconfig: 2345 90 10# description: start the subve......

随风而飘 ⋅ 9分钟前 ⋅ 0

Nginx + uwsgi @ubuntu

Nginx 安装 & 启动 sudo apt-get install nginx  #安装fnngj@ubuntu:~$ /etc/init.d/nginx start  #启动fnngj@ubuntu:~$ /etc/init.d/nginx stop  #关闭fnngj@ubuntu:~$ /etc/init.d/......

袁祾 ⋅ 9分钟前 ⋅ 0

版本控制工具

CSV , SVN , GIT ,VSS

颖伙虫 ⋅ 12分钟前 ⋅ 0

【2018.06.19学习笔记】【linux高级知识 13.1-13.3】

13.1 设置更改root密码 13.2 连接mysql 13.3 mysql常用命令

lgsxp ⋅ 20分钟前 ⋅ 0

LVM

LVM: 硬盘划分分区成物理卷->物理卷组成卷组->卷组划分逻辑分区。 1.磁盘分区: fdisk /dev/sdb 划分几个主分区 输入t更改每个分区类型为8e(LVM) 使用partprobe生成分区的文件:如/dev/sd...

ZHENG-JY ⋅ 48分钟前 ⋅ 0

彻底删除Microsoft Office的方法

参照此链接彻底删除Office https://support.office.com/zh-cn/article/%e4%bb%8e-pc-%e5%8d%b8%e8%bd%bd-office-9dd49b83-264a-477a-8fcc-2fdf5dbf61d8?ui=zh-CN&rs=zh-CN&ad=CN......

Kampfer ⋅ 今天 ⋅ 0

大盘与个股之间关系

大盘走多:积极出手 顺势加码 大盘走空: 少量出手 退场观望 大盘做头:逆势减码 少量操作 大盘做底 : 小量建仓 小量试单

guozenhua ⋅ 今天 ⋅ 0

Day16 LVM(逻辑卷管理)与磁盘故障小案例

lvm详解 简述 LVM的产生是因为传统的分区一旦分区好后就无法在线扩充空间,也存在一些工具能实现在线扩充空间但是还是会面临数据损坏的风险;传统的分区当分区空间不足时,一般的解决办法是再...

杉下 ⋅ 今天 ⋅ 0

rsync实现多台linux服务器的文件同步

一、首先安装rsync,怎样安装都行,rpm,yum,还是你用源码安装都可以。因为我用的是阿里云的ESC,yum install rsync就ok了。 二、配置rsync服务 1.先建立个同步数据的帐号 123 groupadd r...

在下头真的很硬 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部