首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

struts+spring+hibernate的web使用<二> Dao层代码编写

2012-08-14 
struts+spring+hibernate的web应用二 Dao层代码编写前一篇文章(struts+spring+hibernate的web应用一?

struts+spring+hibernate的web应用<二> Dao层代码编写

前一篇文章(struts+spring+hibernate的web应用<一>? 架构搭建)让我们打好了架子,接下来就来编写代码了。在编码之前,我们需要先自行了解strust,spring,hibernate基础知识,后面的文章将不会过多的介绍这些框架的基础知识。整个项目由Dao,Services,Web三层组成,Dao层主要通过hibernate来操作数据库,Service层主要体现了业务,事务的处理,Web层由struts来控制。整个项目的控制交由spring管理。

?

现在的这个小项目除了完成基本的添删改查,还有一个简单的分页功能。这个分页功能不仅前台分页,而且在后台数据库也进行了分页处理。

?

现在就来编写Dao层的代码。

首先写好pojo的代码:

在com.game.products.model中新建products.hbm.xml类,代码如下:

?

struts+spring+hibernate的web使用<二> Dao层代码编写<?xml?version="1.0"?encoding="GB2312"?>
struts+spring+hibernate的web使用<二> Dao层代码编写<!DOCTYPE?hibernate-mapping?PUBLIC?"-//Hibernate/Hibernate?Mapping?DTD?3.0//EN"
struts+spring+hibernate的web使用<二> Dao层代码编写"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
struts+spring+hibernate的web使用<二> Dao层代码编写
struts+spring+hibernate的web使用<二> Dao层代码编写<hibernate-mapping>
struts+spring+hibernate的web使用<二> Dao层代码编写?????<class?name="com.game.products.model.Products"?table="products"?>
struts+spring+hibernate的web使用<二> Dao层代码编写?????????<id?name="gameId"?type="string">
struts+spring+hibernate的web使用<二> Dao层代码编写????????????<column?name="game_id"?length="5"?/>
struts+spring+hibernate的web使用<二> Dao层代码编写????????????<generator?class="assigned"?/>
struts+spring+hibernate的web使用<二> Dao层代码编写????????</id>
struts+spring+hibernate的web使用<二> Dao层代码编写????????<property?name="gameNameCn"?type="string">
struts+spring+hibernate的web使用<二> Dao层代码编写????????????<column?name="game_name_cn"?length="100"?/>
struts+spring+hibernate的web使用<二> Dao层代码编写????????</property>
struts+spring+hibernate的web使用<二> Dao层代码编写?????????<property?name="gameNameEn"?type="string">
struts+spring+hibernate的web使用<二> Dao层代码编写????????????<column?name="game_name_en"?length="100"?/>
struts+spring+hibernate的web使用<二> Dao层代码编写????????</property>
struts+spring+hibernate的web使用<二> Dao层代码编写????????<property?name="gameCapacity"?type="string">
struts+spring+hibernate的web使用<二> Dao层代码编写????????????<column?name="game_capacity"?length="4"?/>
struts+spring+hibernate的web使用<二> Dao层代码编写????????</property>
struts+spring+hibernate的web使用<二> Dao层代码编写?????????<property?name="gameVersion"?type="string">
struts+spring+hibernate的web使用<二> Dao层代码编写????????????<column?name="game_version"?length="4"?/>
struts+spring+hibernate的web使用<二> Dao层代码编写????????</property>
struts+spring+hibernate的web使用<二> Dao层代码编写??????????<property?name="gameMedia"?type="string">
struts+spring+hibernate的web使用<二> Dao层代码编写????????????<column?name="game_media"?length="4"?/>
struts+spring+hibernate的web使用<二> Dao层代码编写????????</property>
struts+spring+hibernate的web使用<二> Dao层代码编写????????<property?name="gameCopyright"?type="string">
struts+spring+hibernate的web使用<二> Dao层代码编写????????????<column?name="game_copyright"?length="4"?/>
struts+spring+hibernate的web使用<二> Dao层代码编写????????</property>
struts+spring+hibernate的web使用<二> Dao层代码编写????????<property?name="gamePrice"?type="string">
struts+spring+hibernate的web使用<二> Dao层代码编写????????????<column?name="game_price"?length="4"?/>
struts+spring+hibernate的web使用<二> Dao层代码编写????????</property>?
struts+spring+hibernate的web使用<二> Dao层代码编写?????????<property?name="gameContent"?type="string">
struts+spring+hibernate的web使用<二> Dao层代码编写????????????<column?name="game_content"?length="100"?/>
struts+spring+hibernate的web使用<二> Dao层代码编写????????</property>
struts+spring+hibernate的web使用<二> Dao层代码编写?????</class>
struts+spring+hibernate的web使用<二> Dao层代码编写</hibernate-mapping>

?

注意这里的ID不是数据库自动生成的,而是根据需要由程序生成,一般项目中的主键ID都是采取这种方式。

然后在这个包中再新建Products类,代码如下:

struts+spring+hibernate的web使用<二> Dao层代码编写package?com.game.products.model;
struts+spring+hibernate的web使用<二> Dao层代码编写
struts+spring+hibernate的web使用<二> Dao层代码编写public?class?Products?{
struts+spring+hibernate的web使用<二> Dao层代码编写????//????Fields?
struts+spring+hibernate的web使用<二> Dao层代码编写????private?String?gameId;//编号
struts+spring+hibernate的web使用<二> Dao层代码编写????private?String?gameNameCn;//中文名称
struts+spring+hibernate的web使用<二> Dao层代码编写????private?String?gameNameEn;//英文名称
struts+spring+hibernate的web使用<二> Dao层代码编写????private?String?gameCapacity;//碟数
struts+spring+hibernate的web使用<二> Dao层代码编写????private?String?gameVersion;//版本
struts+spring+hibernate的web使用<二> Dao层代码编写????private?String?gameMedia;//介质
struts+spring+hibernate的web使用<二> Dao层代码编写????private?String?gameCopyright;//版权
struts+spring+hibernate的web使用<二> Dao层代码编写????private?String?gamePrice;//价格
struts+spring+hibernate的web使用<二> Dao层代码编写????private?String?gameContent;//攻略
struts+spring+hibernate的web使用<二> Dao层代码编写????
struts+spring+hibernate的web使用<二> Dao层代码编写????//????Constructors
struts+spring+hibernate的web使用<二> Dao层代码编写????public?Products(){}
struts+spring+hibernate的web使用<二> Dao层代码编写????
struts+spring+hibernate的web使用<二> Dao层代码编写????//????Property?accessors
struts+spring+hibernate的web使用<二> Dao层代码编写????public?String?getGameCapacity()?{
struts+spring+hibernate的web使用<二> Dao层代码编写????????return?gameCapacity;
struts+spring+hibernate的web使用<二> Dao层代码编写????}
struts+spring+hibernate的web使用<二> Dao层代码编写
struts+spring+hibernate的web使用<二> Dao层代码编写????public?void?setGameCapacity(String?gameCapacity)?{
struts+spring+hibernate的web使用<二> Dao层代码编写????????this.gameCapacity?=?gameCapacity;
struts+spring+hibernate的web使用<二> Dao层代码编写????}
struts+spring+hibernate的web使用<二> Dao层代码编写
struts+spring+hibernate的web使用<二> Dao层代码编写????public?String?getGameId()?{
struts+spring+hibernate的web使用<二> Dao层代码编写????????return?gameId;
struts+spring+hibernate的web使用<二> Dao层代码编写????}
struts+spring+hibernate的web使用<二> Dao层代码编写
struts+spring+hibernate的web使用<二> Dao层代码编写????public?void?setGameId(String?gameId)?{
struts+spring+hibernate的web使用<二> Dao层代码编写????????this.gameId?=?gameId;
struts+spring+hibernate的web使用<二> Dao层代码编写????}
struts+spring+hibernate的web使用<二> Dao层代码编写
struts+spring+hibernate的web使用<二> Dao层代码编写????public?String?getGameNameCn()?{
struts+spring+hibernate的web使用<二> Dao层代码编写????????return?gameNameCn;
struts+spring+hibernate的web使用<二> Dao层代码编写????}
struts+spring+hibernate的web使用<二> Dao层代码编写
struts+spring+hibernate的web使用<二> Dao层代码编写????public?void?setGameNameCn(String?gameNameCn)?{
struts+spring+hibernate的web使用<二> Dao层代码编写????????this.gameNameCn?=?gameNameCn;
struts+spring+hibernate的web使用<二> Dao层代码编写????}
struts+spring+hibernate的web使用<二> Dao层代码编写
struts+spring+hibernate的web使用<二> Dao层代码编写????public?String?getGameNameEn()?{
struts+spring+hibernate的web使用<二> Dao层代码编写????????return?gameNameEn;
struts+spring+hibernate的web使用<二> Dao层代码编写????}
struts+spring+hibernate的web使用<二> Dao层代码编写
struts+spring+hibernate的web使用<二> Dao层代码编写????public?void?setGameNameEn(String?gameNameEn)?{
struts+spring+hibernate的web使用<二> Dao层代码编写????????this.gameNameEn?=?gameNameEn;
struts+spring+hibernate的web使用<二> Dao层代码编写????}
struts+spring+hibernate的web使用<二> Dao层代码编写
struts+spring+hibernate的web使用<二> Dao层代码编写????public?String?getGameVersion()?{
struts+spring+hibernate的web使用<二> Dao层代码编写????????return?gameVersion;
struts+spring+hibernate的web使用<二> Dao层代码编写????}
struts+spring+hibernate的web使用<二> Dao层代码编写
struts+spring+hibernate的web使用<二> Dao层代码编写????public?void?setGameVersion(String?gameVersion)?{
struts+spring+hibernate的web使用<二> Dao层代码编写????????this.gameVersion?=?gameVersion;
struts+spring+hibernate的web使用<二> Dao层代码编写????}
struts+spring+hibernate的web使用<二> Dao层代码编写
struts+spring+hibernate的web使用<二> Dao层代码编写????public?String?getGameMedia()?{
struts+spring+hibernate的web使用<二> Dao层代码编写????????return?gameMedia;
struts+spring+hibernate的web使用<二> Dao层代码编写????}
struts+spring+hibernate的web使用<二> Dao层代码编写
struts+spring+hibernate的web使用<二> Dao层代码编写????public?void?setGameMedia(String?gameMedia)?{
struts+spring+hibernate的web使用<二> Dao层代码编写????????this.gameMedia?=?gameMedia;
struts+spring+hibernate的web使用<二> Dao层代码编写????}
struts+spring+hibernate的web使用<二> Dao层代码编写
struts+spring+hibernate的web使用<二> Dao层代码编写????public?String?getGameCopyright()?{
struts+spring+hibernate的web使用<二> Dao层代码编写????????return?gameCopyright;
struts+spring+hibernate的web使用<二> Dao层代码编写????}
struts+spring+hibernate的web使用<二> Dao层代码编写
struts+spring+hibernate的web使用<二> Dao层代码编写????public?void?setGameCopyright(String?gameCopyright)?{
struts+spring+hibernate的web使用<二> Dao层代码编写????????this.gameCopyright?=?gameCopyright;
struts+spring+hibernate的web使用<二> Dao层代码编写????}
struts+spring+hibernate的web使用<二> Dao层代码编写
struts+spring+hibernate的web使用<二> Dao层代码编写????public?String?getGameContent()?{
struts+spring+hibernate的web使用<二> Dao层代码编写????????return?gameContent;
struts+spring+hibernate的web使用<二> Dao层代码编写????}
struts+spring+hibernate的web使用<二> Dao层代码编写
struts+spring+hibernate的web使用<二> Dao层代码编写????public?void?setGameContent(String?gameContent)?{
struts+spring+hibernate的web使用<二> Dao层代码编写????????this.gameContent?=?gameContent;
struts+spring+hibernate的web使用<二> Dao层代码编写????}
struts+spring+hibernate的web使用<二> Dao层代码编写
struts+spring+hibernate的web使用<二> Dao层代码编写????public?String?getGamePrice()?{
struts+spring+hibernate的web使用<二> Dao层代码编写????????return?gamePrice;
struts+spring+hibernate的web使用<二> Dao层代码编写????}
struts+spring+hibernate的web使用<二> Dao层代码编写
struts+spring+hibernate的web使用<二> Dao层代码编写????public?void?setGamePrice(String?gamePrice)?{
struts+spring+hibernate的web使用<二> Dao层代码编写????????this.gamePrice?=?gamePrice;
struts+spring+hibernate的web使用<二> Dao层代码编写????}
struts+spring+hibernate的web使用<二> Dao层代码编写
struts+spring+hibernate的web使用<二> Dao层代码编写}
struts+spring+hibernate的web使用<二> Dao层代码编写

?

需要注意的是,我这里都是采用了string类型,因为在项目中传递数据,用string类型最为方便,同时也便于代码的编写。只是在前台需要编写验证代码,免得有字符数据插入整数字段而造成数据库异常。

?

在com.game.products.dao.iface包中新建ProductsDao接口。

代码如下所示:

struts+spring+hibernate的web使用<二> Dao层代码编写package?com.game.products.dao.iface;
struts+spring+hibernate的web使用<二> Dao层代码编写
struts+spring+hibernate的web使用<二> Dao层代码编写import?java.util.List;
struts+spring+hibernate的web使用<二> Dao层代码编写
struts+spring+hibernate的web使用<二> Dao层代码编写import?com.game.products.model.Products;
struts+spring+hibernate的web使用<二> Dao层代码编写
struts+spring+hibernate的web使用<二> Dao层代码编写public?interface?ProductsDao?{
struts+spring+hibernate的web使用<二> Dao层代码编写????List?getProducts();//获得所有记录
struts+spring+hibernate的web使用<二> Dao层代码编写????List?getProducts(int?pageSize,?int?startRow);//获得一段记录
struts+spring+hibernate的web使用<二> Dao层代码编写????int?getRows();//获得总行数
struts+spring+hibernate的web使用<二> Dao层代码编写????int?getRows(String?fieldname,String?value);//获得总行数
struts+spring+hibernate的web使用<二> Dao层代码编写????List?queryProducts(String?fieldname,String?value);//根据条件查询的所有记录
struts+spring+hibernate的web使用<二> Dao层代码编写????List?queryProducts(String?fieldname,String?value,int?pageSize,?int?startRow);//根据条件查询的一段记录
struts+spring+hibernate的web使用<二> Dao层代码编写????Products?getProduct(String?gameId);//根据ID获得记录
struts+spring+hibernate的web使用<二> Dao层代码编写????String?getMaxID();//获得最大ID值
struts+spring+hibernate的web使用<二> Dao层代码编写????void?addProduct(Products?pd);//添加记录
struts+spring+hibernate的web使用<二> Dao层代码编写????void?updateProductd(Products?pd);//修改记录
struts+spring+hibernate的web使用<二> Dao层代码编写????void?deleteProduct(Products?pd);//删除记录????
struts+spring+hibernate的web使用<二> Dao层代码编写}
struts+spring+hibernate的web使用<二> Dao层代码编写


?

在com.game.products.dao.hibernate包中新建继承HibernateDaoSupport的ProductsMapDao类,并实现了ProductsDao接口。

代码如下:

struts+spring+hibernate的web使用<二> Dao层代码编写package?com.game.products.dao.hibernate;
struts+spring+hibernate的web使用<二> Dao层代码编写
struts+spring+hibernate的web使用<二> Dao层代码编写import?java.sql.SQLException;
struts+spring+hibernate的web使用<二> Dao层代码编写import?java.util.Iterator;
struts+spring+hibernate的web使用<二> Dao层代码编写import?java.util.List;
struts+spring+hibernate的web使用<二> Dao层代码编写
struts+spring+hibernate的web使用<二> Dao层代码编写import?org.hibernate.HibernateException;
struts+spring+hibernate的web使用<二> Dao层代码编写import?org.hibernate.Query;
struts+spring+hibernate的web使用<二> Dao层代码编写import?org.hibernate.Session;
struts+spring+hibernate的web使用<二> Dao层代码编写import?org.springframework.orm.hibernate3.HibernateCallback;
struts+spring+hibernate的web使用<二> Dao层代码编写import?org.springframework.orm.hibernate3.support.HibernateDaoSupport;
struts+spring+hibernate的web使用<二> Dao层代码编写
struts+spring+hibernate的web使用<二> Dao层代码编写import?com.game.products.dao.iface.ProductsDao;
struts+spring+hibernate的web使用<二> Dao层代码编写import?com.game.products.model.Products;
struts+spring+hibernate的web使用<二> Dao层代码编写
struts+spring+hibernate的web使用<二> Dao层代码编写
struts+spring+hibernate的web使用<二> Dao层代码编写/**
struts+spring+hibernate的web使用<二> Dao层代码编写?*?@author?cwf
struts+spring+hibernate的web使用<二> Dao层代码编写?*
struts+spring+hibernate的web使用<二> Dao层代码编写?*/
struts+spring+hibernate的web使用<二> Dao层代码编写public?class?ProductsMapDao?extends?HibernateDaoSupport?implements?ProductsDao?{
struts+spring+hibernate的web使用<二> Dao层代码编写
struts+spring+hibernate的web使用<二> Dao层代码编写????public?ProductsMapDao(){}
struts+spring+hibernate的web使用<二> Dao层代码编写
struts+spring+hibernate的web使用<二> Dao层代码编写????/**
struts+spring+hibernate的web使用<二> Dao层代码编写?????*?函数说明:添加信息
struts+spring+hibernate的web使用<二> Dao层代码编写?????*?参数说明:对象?
struts+spring+hibernate的web使用<二> Dao层代码编写?????*?返回值:
struts+spring+hibernate的web使用<二> Dao层代码编写?????*/
struts+spring+hibernate的web使用<二> Dao层代码编写????public?void?addProduct(Products?pd)?{
struts+spring+hibernate的web使用<二> Dao层代码编写????????this.getHibernateTemplate().save(pd);
struts+spring+hibernate的web使用<二> Dao层代码编写????}
struts+spring+hibernate的web使用<二> Dao层代码编写
struts+spring+hibernate的web使用<二> Dao层代码编写????/**
struts+spring+hibernate的web使用<二> Dao层代码编写?????*?函数说明:删除信息
struts+spring+hibernate的web使用<二> Dao层代码编写?????*?参数说明:?对象
struts+spring+hibernate的web使用<二> Dao层代码编写?????*?返回值:
struts+spring+hibernate的web使用<二> Dao层代码编写?????*/
struts+spring+hibernate的web使用<二> Dao层代码编写????public?void?deleteProduct(Products?pd)?{
struts+spring+hibernate的web使用<二> Dao层代码编写????????this.getHibernateTemplate().delete(pd);
struts+spring+hibernate的web使用<二> Dao层代码编写????}
struts+spring+hibernate的web使用<二> Dao层代码编写
struts+spring+hibernate的web使用<二> Dao层代码编写????/**
struts+spring+hibernate的web使用<二> Dao层代码编写?????*?函数说明:获得所有的信息
struts+spring+hibernate的web使用<二> Dao层代码编写?????*?参数说明:?
struts+spring+hibernate的web使用<二> Dao层代码编写?????*?返回值:信息的集合
struts+spring+hibernate的web使用<二> Dao层代码编写?????*/
struts+spring+hibernate的web使用<二> Dao层代码编写????public?List?getProducts()?{
struts+spring+hibernate的web使用<二> Dao层代码编写????????String?sql="FROM?Products?ORDER?BY?gameNameCn";
struts+spring+hibernate的web使用<二> Dao层代码编写????????return?this.getHibernateTemplate().find(sql);
struts+spring+hibernate的web使用<二> Dao层代码编写????}
struts+spring+hibernate的web使用<二> Dao层代码编写????
struts+spring+hibernate的web使用<二> Dao层代码编写????/**
struts+spring+hibernate的web使用<二> Dao层代码编写?????*?函数说明:获得总行数
struts+spring+hibernate的web使用<二> Dao层代码编写?????*?参数说明:?
struts+spring+hibernate的web使用<二> Dao层代码编写?????*?返回值:总行数
struts+spring+hibernate的web使用<二> Dao层代码编写?????*/
struts+spring+hibernate的web使用<二> Dao层代码编写????public?int?getRows()?{
struts+spring+hibernate的web使用<二> Dao层代码编写????????String?sql="FROM?Products?ORDER?BY?gameNameCn";
struts+spring+hibernate的web使用<二> Dao层代码编写????????List?list=this.getHibernateTemplate().find(sql);
struts+spring+hibernate的web使用<二> Dao层代码编写????????return?list.size();
struts+spring+hibernate的web使用<二> Dao层代码编写????}
struts+spring+hibernate的web使用<二> Dao层代码编写????
struts+spring+hibernate的web使用<二> Dao层代码编写????/**
struts+spring+hibernate的web使用<二> Dao层代码编写?????*?函数说明:获得一段记录信息
struts+spring+hibernate的web使用<二> Dao层代码编写?????*?参数说明:?
struts+spring+hibernate的web使用<二> Dao层代码编写?????*?返回值:信息的集合
struts+spring+hibernate的web使用<二> Dao层代码编写?????*/
struts+spring+hibernate的web使用<二> Dao层代码编写????public?List?getProducts(int?pageSize,?int?startRow)?throws?HibernateException?{
struts+spring+hibernate的web使用<二> Dao层代码编写????????final?int?pageSize1=pageSize;
struts+spring+hibernate的web使用<二> Dao层代码编写????????final?int?startRow1=startRow;
struts+spring+hibernate的web使用<二> Dao层代码编写????????return?this.getHibernateTemplate().executeFind(new?HibernateCallback(){
struts+spring+hibernate的web使用<二> Dao层代码编写
struts+spring+hibernate的web使用<二> Dao层代码编写????????????public?List?doInHibernate(Session?session)?throws?HibernateException,?SQLException?{
struts+spring+hibernate的web使用<二> Dao层代码编写????????????????Query?query=session.createQuery("FROM?Products?ORDER?BY?gameNameCn");
struts+spring+hibernate的web使用<二> Dao层代码编写????????????????query.setFirstResult(startRow1);
struts+spring+hibernate的web使用<二> Dao层代码编写????????????????query.setMaxResults(pageSize1);
struts+spring+hibernate的web使用<二> Dao层代码编写????????????????return?query.list();
struts+spring+hibernate的web使用<二> Dao层代码编写????????????}
struts+spring+hibernate的web使用<二> Dao层代码编写????????});
struts+spring+hibernate的web使用<二> Dao层代码编写????}
struts+spring+hibernate的web使用<二> Dao层代码编写
struts+spring+hibernate的web使用<二> Dao层代码编写????/**
struts+spring+hibernate的web使用<二> Dao层代码编写?????*?函数说明:获得一条的信息
struts+spring+hibernate的web使用<二> Dao层代码编写?????*?参数说明:?ID
struts+spring+hibernate的web使用<二> Dao层代码编写?????*?返回值:对象
struts+spring+hibernate的web使用<二> Dao层代码编写?????*/
struts+spring+hibernate的web使用<二> Dao层代码编写????public?Products?getProduct(String?gameId)?{
struts+spring+hibernate的web使用<二> Dao层代码编写????????return?(Products)this.getHibernateTemplate().get(Products.class,gameId);
struts+spring+hibernate的web使用<二> Dao层代码编写????}
struts+spring+hibernate的web使用<二> Dao层代码编写
struts+spring+hibernate的web使用<二> Dao层代码编写????/**
struts+spring+hibernate的web使用<二> Dao层代码编写?????*?函数说明:获得最大ID
struts+spring+hibernate的web使用<二> Dao层代码编写?????*?参数说明:?
struts+spring+hibernate的web使用<二> Dao层代码编写?????*?返回值:最大ID
struts+spring+hibernate的web使用<二> Dao层代码编写?????*/
struts+spring+hibernate的web使用<二> Dao层代码编写????public?String?getMaxID()?{
struts+spring+hibernate的web使用<二> Dao层代码编写????????String?sql="SELECT?MAX(gameId)+1?FROM?Products??";
struts+spring+hibernate的web使用<二> Dao层代码编写????????String?noStr?=?null;
struts+spring+hibernate的web使用<二> Dao层代码编写????????List?ll?=?(List)?this.getHibernateTemplate().find(sql);
struts+spring+hibernate的web使用<二> Dao层代码编写????????Iterator?itr?=?ll.iterator();
struts+spring+hibernate的web使用<二> Dao层代码编写????????if?(itr.hasNext())?{
struts+spring+hibernate的web使用<二> Dao层代码编写????????????Object?noint?=?itr.next();
struts+spring+hibernate的web使用<二> Dao层代码编写????????????if(noint?==?null){
struts+spring+hibernate的web使用<二> Dao层代码编写????????????????noStr?=?"1";????????????????
struts+spring+hibernate的web使用<二> Dao层代码编写????????????}else{
struts+spring+hibernate的web使用<二> Dao层代码编写????????????????noStr?=?noint.toString();
struts+spring+hibernate的web使用<二> Dao层代码编写????????????}
struts+spring+hibernate的web使用<二> Dao层代码编写????????}
struts+spring+hibernate的web使用<二> Dao层代码编写????????
struts+spring+hibernate的web使用<二> Dao层代码编写????????if(noStr.length()==1){
struts+spring+hibernate的web使用<二> Dao层代码编写????????????noStr="000"+noStr;
struts+spring+hibernate的web使用<二> Dao层代码编写????????}else?if(noStr.length()==2){
struts+spring+hibernate的web使用<二> Dao层代码编写????????????noStr="00"+noStr;
struts+spring+hibernate的web使用<二> Dao层代码编写????????}else?if(noStr.length()==3){
struts+spring+hibernate的web使用<二> Dao层代码编写????????????noStr="0"+noStr;
struts+spring+hibernate的web使用<二> Dao层代码编写????????}else{
struts+spring+hibernate的web使用<二> Dao层代码编写????????????noStr=noStr;
struts+spring+hibernate的web使用<二> Dao层代码编写????????}
struts+spring+hibernate的web使用<二> Dao层代码编写????????return?noStr;
struts+spring+hibernate的web使用<二> Dao层代码编写????}
struts+spring+hibernate的web使用<二> Dao层代码编写
struts+spring+hibernate的web使用<二> Dao层代码编写????/**
struts+spring+hibernate的web使用<二> Dao层代码编写?????*?函数说明:修改信息
struts+spring+hibernate的web使用<二> Dao层代码编写?????*?参数说明:?对象
struts+spring+hibernate的web使用<二> Dao层代码编写?????*?返回值:
struts+spring+hibernate的web使用<二> Dao层代码编写?????*/
struts+spring+hibernate的web使用<二> Dao层代码编写????public?void?updateProductd(Products?pd)?{
struts+spring+hibernate的web使用<二> Dao层代码编写????????this.getHibernateTemplate().update(pd);
struts+spring+hibernate的web使用<二> Dao层代码编写????}
struts+spring+hibernate的web使用<二> Dao层代码编写
struts+spring+hibernate的web使用<二> Dao层代码编写????/**
struts+spring+hibernate的web使用<二> Dao层代码编写?????*?函数说明:查询的所有信息
struts+spring+hibernate的web使用<二> Dao层代码编写?????*?参数说明:?集合
struts+spring+hibernate的web使用<二> Dao层代码编写?????*?返回值:
struts+spring+hibernate的web使用<二> Dao层代码编写?????*/
struts+spring+hibernate的web使用<二> Dao层代码编写????public?List?queryProducts(String?fieldname,String?value)?{
struts+spring+hibernate的web使用<二> Dao层代码编写????????System.out.println("value:?"+value);
struts+spring+hibernate的web使用<二> Dao层代码编写????????String?sql="FROM?Products?where?"+fieldname+"?like?'%"+value+"%'"+"ORDER?BY?gameNameCn";
struts+spring+hibernate的web使用<二> Dao层代码编写????????return?this.getHibernateTemplate().find(sql);
struts+spring+hibernate的web使用<二> Dao层代码编写????}
struts+spring+hibernate的web使用<二> Dao层代码编写????
struts+spring+hibernate的web使用<二> Dao层代码编写????/**
struts+spring+hibernate的web使用<二> Dao层代码编写?????*?函数说明:获得总行数
struts+spring+hibernate的web使用<二> Dao层代码编写?????*?参数说明:?
struts+spring+hibernate的web使用<二> Dao层代码编写?????*?返回值:总行数
struts+spring+hibernate的web使用<二> Dao层代码编写?????*/
struts+spring+hibernate的web使用<二> Dao层代码编写????public?int?getRows(String?fieldname,String?value)?{
struts+spring+hibernate的web使用<二> Dao层代码编写????????String?sql="FROM?Products?where?"+fieldname+"?like?'%"+value+"%'"+"ORDER?BY?gameNameCn";
struts+spring+hibernate的web使用<二> Dao层代码编写????????List?list=this.getHibernateTemplate().find(sql);
struts+spring+hibernate的web使用<二> Dao层代码编写????????return?list.size();
struts+spring+hibernate的web使用<二> Dao层代码编写????}
struts+spring+hibernate的web使用<二> Dao层代码编写????
struts+spring+hibernate的web使用<二> Dao层代码编写????/**
struts+spring+hibernate的web使用<二> Dao层代码编写?????*?函数说明:查询的一段信息
struts+spring+hibernate的web使用<二> Dao层代码编写?????*?参数说明:?集合
struts+spring+hibernate的web使用<二> Dao层代码编写?????*?返回值:
struts+spring+hibernate的web使用<二> Dao层代码编写?????*/
struts+spring+hibernate的web使用<二> Dao层代码编写????public?List?queryProducts(String?fieldname,String?value,int?pageSize,?int?startRow)?{
struts+spring+hibernate的web使用<二> Dao层代码编写????????final?int?pageSize1=pageSize;
struts+spring+hibernate的web使用<二> Dao层代码编写????????final?int?startRow1=startRow;
struts+spring+hibernate的web使用<二> Dao层代码编写????????final?String?sql="FROM?Products?where?"+fieldname+"?like?'%"+value+"%'"+"ORDER?BY?gameNameCn";
struts+spring+hibernate的web使用<二> Dao层代码编写????????return?this.getHibernateTemplate().executeFind(new?HibernateCallback(){
struts+spring+hibernate的web使用<二> Dao层代码编写
struts+spring+hibernate的web使用<二> Dao层代码编写????????????public?List?doInHibernate(Session?session)?throws?HibernateException,?SQLException?{
struts+spring+hibernate的web使用<二> Dao层代码编写????????????????Query?query=session.createQuery(sql);
struts+spring+hibernate的web使用<二> Dao层代码编写????????????????query.setFirstResult(startRow1);
struts+spring+hibernate的web使用<二> Dao层代码编写????????????????query.setMaxResults(pageSize1);
struts+spring+hibernate的web使用<二> Dao层代码编写????????????????return?query.list();
struts+spring+hibernate的web使用<二> Dao层代码编写????????????}
struts+spring+hibernate的web使用<二> Dao层代码编写????????});
struts+spring+hibernate的web使用<二> Dao层代码编写????}
struts+spring+hibernate的web使用<二> Dao层代码编写
struts+spring+hibernate的web使用<二> Dao层代码编写}
struts+spring+hibernate的web使用<二> Dao层代码编写



?

在com.game.bean.hibernate包中新建hibernate.cfg.xml,代码如下:

struts+spring+hibernate的web使用<二> Dao层代码编写<?xml?version="1.0"?encoding="GB2312"?>
struts+spring+hibernate的web使用<二> Dao层代码编写<!DOCTYPE?hibernate-configuration?PUBLIC
struts+spring+hibernate的web使用<二> Dao层代码编写????"-//Hibernate/Hibernate?Configuration?DTD?3.0//EN"
struts+spring+hibernate的web使用<二> Dao层代码编写????"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
struts+spring+hibernate的web使用<二> Dao层代码编写<hibernate-configuration>
struts+spring+hibernate的web使用<二> Dao层代码编写????<session-factory>
struts+spring+hibernate的web使用<二> Dao层代码编写????????<property?name="dialect">org.hibernate.dialect.SQLServerDialect</property>
struts+spring+hibernate的web使用<二> Dao层代码编写????????<property?name="show_sql">true</property>
struts+spring+hibernate的web使用<二> Dao层代码编写
struts+spring+hibernate的web使用<二> Dao层代码编写????????<mapping?resource="com/game/products/model/products.hbm.xml"></mapping>
struts+spring+hibernate的web使用<二> Dao层代码编写????</session-factory>
struts+spring+hibernate的web使用<二> Dao层代码编写</hibernate-configuration>

?

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

热点排行