- 浏览: 128027 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
hanyuanbo:
多谢啦不过你这里有关于字符串的连接机制么?比如:String ...
栈(stack)与堆(heap)区别以及Java的string变量赋值的内部工作机制(精典转载贴) -
only_java:
不错不错,但是好像没有关于字符流的介绍哦?
[转]Java IO 技术之基本流类 ~~~~~~~~ (图+讲解+代码) 好好看 有好处 -
lvwz2008:
比较简单,学习了也受益不少!
栈(stack)与堆(heap)区别以及Java的string变量赋值的内部工作机制(精典转载贴) -
306781704:
看了你写的东西,很不错,基础的很详细
META元素使用详解 -
yihengliu:
总结的完全,有大帮助!
JSP内置对象详解1
Dao层代码编写:
整个项目由 Dao、Services、Web 三层组成, Dao 层主要通过 hibernate 来操作数据库, Service 层主要体现了业务、事务的处理, Web 层由 struts 来控制。整个项目的控制交由 spring 管理。
现在的这个小项目除了完成基本的添删改查,还有一个简单的分页功能。这个分页功能不仅前台分页,而且在后台数据库也进行了分页处理。
首先写好 pojo 的代码:
在 com.game.products.model 中新建 products.hbm.xml 类,代码如下:
注意这里的 ID 不是数据库自动生成的,而是根据需要由程序生成,一般项目中的主键 ID 都是采取这种方式。
xm
- < hibernate-mapping >
- < class name ="com.game.products.model.Products" table ="products" >
- < id name ="gameId" type ="string" >
- < column name ="game_id" length ="5" />
- < generator class ="assigned" />
- </id>
- < property name ="gameNameCn" type ="string" >
- < column name ="game_name_cn" length ="100" />
- < /property >
- < property name ="gameNameEn" type ="string" >
- < column name ="game_name_en" length ="100" />
- < /property >
- < property name ="gameCapacity" type ="string" >
- < column name ="game_capacity" length ="4" />
- < /property >
- < property name ="gameVersion" type ="string" >
- < column name ="game_version" length ="4" />
- < /property >
- < property name ="gameMedia" type ="string" >
- < column name ="game_media" length ="4" />
- < /property >
- < property name ="gameCopyright" type ="string" >
- < column name ="game_copyright" length ="4" />
- < /property >
- < property name ="gamePrice" type ="string" >
- < column name ="game_price" length ="4" />
- < /property >
- < property name ="gameContent" type ="string" >
- < column name ="game_content" length ="100" />
- < /property >
- < /class >
- < /hibernate-mapping >
注意这里的 ID 不是数据库自动生成的,而是根据需要由程序生成,一般项目中的主键 ID 都是采取这种方式。
然后在这个包中再新建 Products 类,代码如下:
- package com.game.products.model;
- public class Products {
- // Fields
- private String gameId; // 编号
- private String gameNameCn; // 中文名称
- private String gameNameEn; // 英文名称
- private String gameCapacity; // 碟数
- private String gameVersion; // 版本
- private String gameMedia; // 介质
- private String gameCopyright; // 版权
- private String gamePrice; // 价格
- private String gameContent; // 攻略
- // Constructors
- public Products() {}
- // Property accessors
- public String getGameCapacity() {
- return gameCapacity;
- }
- public void setGameCapacity(String gameCapacity) {
- this .gameCapacity = gameCapacity;
- }
- public String getGameId() {
- return gameId;
- }
- public void setGameId(String gameId) {
- this .gameId = gameId;
- }
- public String getGameNameCn() {
- return gameNameCn;
- }
- public void setGameNameCn(String gameNameCn) {
- this .gameNameCn = gameNameCn;
- }
- public String getGameNameEn() {
- return gameNameEn;
- }
- public void setGameNameEn(String gameNameEn) {
- this .gameNameEn = gameNameEn;
- }
- public String getGameVersion() {
- return gameVersion;
- }
- public void setGameVersion(String gameVersion) {
- this .gameVersion = gameVersion;
- }
- public String getGameMedia() {
- return gameMedia;
- }
- public void setGameMedia(String gameMedia) {
- this .gameMedia = gameMedia;
- }
- public String getGameCopyright() {
- return gameCopyright;
- }
- public void setGameCopyright(String gameCopyright) {
- this .gameCopyright = gameCopyright;
- }
- public String getGameContent() {
- return gameContent;
- }
- public void setGameContent(String gameContent) {
- this .gameContent = gameContent;
- }
- public String getGamePrice() {
- return gamePrice;
- }
- public void setGamePrice(String gamePrice) {
- this .gamePrice = gamePrice;
- }
- }
需要注意的是,我这里都是采用了 String 类型,因为在项目中传递数据,用 String 类型最为方便,同时也便于代码的编写。只是在前台需要编写验证代码,免得有字符数据插入整数字段而造成数据库异常。
在 com.game.products.dao.iface 包中新建ProductsDao接口。代码如下所示:
- package com.game.products.dao.iface;
- import java.util.List;
- import com.game.products.model.Products;
- public interface ProductsDao {
- List getProducts(); // 获得所有记录
- List getProducts( int pageSize, int startRow); // 获得一段记录
- int getRows(); // 获得总行数
- int getRows(String fieldname,String value); // 获得总行数
- List queryProducts(String fieldname,String value); // 根据条件查询的所有记录
- List queryProducts(String fieldname,String value, int pageSize, int startRow); //根据条件查询的一段记录
Products getProduct(String gameId); // 根据ID获得记录 - String getMaxID(); // 获得最大ID值
- void addProduct(Products pd); // 添加记录
- void updateProductd(Products pd); // 修改记录
- void deleteProduct(Products pd); // 删除记录
- }
在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();
- }
发表评论
-
中文乱码问题的解决方法
2007-11-05 22:46 2066tomcat下中文的彻底解决[转] http://blog ... -
候捷谈Java反射机制(6)
2007-11-05 22:44 1454Java 源码改动办法<o:p></o:p ... -
候捷谈Java反射机制(5)
2007-11-05 22:43 1109运行时生成instances<o:p></o ... -
候捷谈Java反射机制(4)
2007-11-05 22:42 1088#001 cc = c.getDeclaredClasses ... -
候捷谈Java反射机制(3)
2007-11-05 22:40 1128Java Reflection API 运用示例<o: ... -
候捷谈Java反射机制(2)
2007-11-05 22:39 1017Java classes 组成分析<o:p>&l ... -
候捷谈Java反射机制(1)
2007-11-05 22:28 1610关于本文:<o:p></o:p> 读者 ... -
J2SE API读取Properties文件六种方法
2007-11-05 22:23 10271。使用java.util.Properti ... -
Java 调用存储过程
2007-11-05 22:21 883本文阐述了怎 ... -
JavaMail API细节详细解析大全
2007-11-05 22:16 1121一、JavaMail API简介 JavaMail API ... -
JAVA中正则表达式应用
2007-11-05 22:12 8301.简介: java.util.regex ... -
Java正则表达式详解
2007-11-05 22:08 804如果你曾经用过Perl或任何其他内建正则表达 ... -
JDBC 4.0 API
2007-11-05 21:55 1028???? -
JDBC 3.0 API (扩展部分)
2007-11-05 21:54 1231Ø ConnectionPoo ... -
JDBC 2.0 API
2007-11-05 17:19 976JDBC 2.0 API被划 ... -
开发基于JNDI的应用程序3
2007-11-05 16:18 1792JNDI 的DNS 服务提供程序 DNS服务提供程序使得基于 ... -
开发基于JNDI的应用程序2
2007-11-05 16:14 1370示例代码 2 Resolve2.java ... -
开发基于JNDI的应用程序1
2007-11-05 16:06 1065Java命名和目录接口(Java Naming and ... -
struts+spring+hibernate的web应用(4.6)
2007-10-25 11:35 935product_success.jsp页面代码: ... -
struts+spring+hibernate的web应用(4.5)
2007-10-25 11:32 1109addproduct.jsp页面代码: &l ...
相关推荐
本文将详细介绍如何在MyEclipse 8.5环境下搭建基于Struts2.1、Spring3.0以及Hibernate3.3的SSH框架,并通过图解的方式引导读者完成整个搭建过程。 #### 二、创建 Web 项目 首先,需要在MyEclipse 8.5中创建一个新...
总的来说,Struts2.1、Spring2.5和Hibernate3.3的整合为开发者提供了一个强大的开发平台,可以高效地构建复杂的Java Web应用。尽管现代框架如Spring Boot已逐渐取代这种传统的整合方式,但对于理解企业级开发的底层...
搭建Struts2.1+Spring3.0+Hibernate3.3框架是开发Java Web应用程序时常见的一种技术组合,也被称为SSH框架。这三个框架分别负责不同的职责:Struts2处理前端控制器,Spring提供依赖注入和事务管理,Hibernate则作为...
Struts2.1、Spring 2.5 和 Hibernate 3.2 是经典的Java Web开发框架组合,用于构建高效、可维护的企业级应用。这个详细例子将深入探讨如何使用这三个框架协同工作,实现数据库的增(Add)、删(Delete)、改(Modify...
12.6 整合Struts、Spring和Hibernate实现用户管理 12.6.1 Struts、Spring和Hibernate的整合方式 12.6.2 编写用户注册画面regedit.jsp 12.6.3 编写用户登录画面login.jsp 12.6.4 编写注册控制器RegeditAction.java ...
根据提供的标题、描述以及部分内容,本文将详细解析与MYECLIPSE + STRUTS2 + SPRING4 + HIBERNATE4 + STRUCTS2S+OGNL + MYSQL_5.7.12相关的技术栈及其应用。这些技术在企业级开发中非常常见,能够帮助开发者构建高效...
Struts2、Spring4和Hibernate5是Java Web开发中的三个重要框架,它们分别负责MVC模式中的动作控制、依赖注入和持久化管理。这三者的整合可以构建出高效、稳定且易于维护的企业级应用。 **Struts2** 是一个基于MVC...
### Struts2.1 + Spring3.0 + Hibernate3.3 整合示例解析 #### 一、项目概述 本篇文章将详细解读一个基于Struts2.1、Spring3.0以及Hibernate3.3的整合项目案例。该案例不仅展示了如何搭建这样一个集成环境,还特别...
### Struts+Spring+Hibernate 整合教程知识点详解 #### 一、SSH整合理念与背景 **1.1 框架概述** 在构建复杂的Web应用程序时,开发人员需要面对诸多挑战,包括如何构建用户界面(UI)、业务逻辑(BL)的存放位置以及...
这个“SSH整合 Struts2.1+Spring4.1+Hibernate4.1”是一个预配置的框架模板,适用于快速开发J2EE项目,特别是对于那些需要管理业务逻辑和持久层操作的复杂应用。 Struts2是MVC(模型-视图-控制器)架构的扩展,提供...
总的来说,Struts2.1+Spring2+Hibernate3.3的整合是构建复杂Java Web应用的有效途径,但同时也需要开发者具备扎实的框架知识和良好的项目管理能力。随着技术的发展,现代Web应用可能倾向于使用Spring Boot等更现代化...
Struts2.3.16、Spring4.0.2和Hibernate4.2.4是三个非常关键的Java企业级开发框架,它们分别用于处理Web层、服务层和持久层的逻辑。这个整合的"struts2.3.16+spring4.0.2+hibernate4.2.4整合所需札包"提供了这三个...
Struts、Hibernate和Spring是Java开发中的三大框架,它们各自负责不同的职责,组合起来可以构建出高效、松耦合的企业级应用。这个"Struts + Hibernate + Spring demo"是一个示例项目,展示了这三个框架如何协同工作...
本文档主要介绍了如何在MyEclipse 8.6环境中搭建一个基于Struts2.1、Spring3.0和Hibernate3.3的Java Web应用开发环境。以下是各个部分的详细说明: 1. 创建Web Project项目 在MyEclipse中创建Web Project是开始...
通过这样的整合,开发者可以利用Struts2的强大控制层,Spring的灵活服务层,以及Hibernate的高效数据访问层,构建出高效、稳定的Java Web应用程序。这个压缩包提供的jar文件正是为了支持这样的开发环境,简化了项目...
12.6 整合Struts、Spring和Hibernate实现用户管理 12.6.1 Struts、Spring和Hibernate的整合方式 12.6.2 编写用户注册画面regedit.jsp 12.6.3 编写用户登录画面login.jsp 12.6.4 编写注册控制器RegeditAction.java ...
Struts2.1+Spring2.5+Hibernate3.3是一个经典的Java Web开发技术栈,它们结合使用可以构建高效、可扩展的企业级应用程序。在这个简单的登录案例中,我们将深入理解这三个框架如何协同工作来实现用户身份验证。 ...
这个“struts2.1+spring2.5+hibernate3.2项目基本jar包”集合了这三个框架的核心库,为开发者提供了便捷的开发环境。 **Struts2** 是一个基于MVC设计模式的Web应用程序框架,主要用于控制应用程序的流程。Struts2.1...
### Struts2.1 + Spring3.0 + Hibernate3.3 ...综上所述,通过细致地配置Struts2、Spring与Hibernate之间的关系,可以有效地构建出高效稳定的Java Web应用系统。这不仅有助于提升开发效率,还能更好地满足项目的需求。