ImageVerifierCode 换一换
格式:DOCX , 页数:67 ,大小:66KB ,
资源ID:21319269      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21319269.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(SSH开发 用户登陆和注册文档格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

SSH开发 用户登陆和注册文档格式.docx

1、b)在Driver Name后面定义该数据源的名称.(DemoMySQL)c)更改对应的Connection URL(jdbc:mysql:/localhost:3306/book)d)点击 Add JARs按钮,选择数据库连接驱动e)在User Name和Password里面,输入用户名和密码f)MyEclipse-Add Struts Capabilities,出现如下界面:i) 选择struts的版本1.2ii) 在Base package for new classes输入框里面,输入自己的包路径.book.demo.struts3 鼠标右击工程-Add Spring Capabili

2、ties,出现如下界面:如图显示,选择上面的选项:i) Spring version :Spring 2ii) MyEclipse Librariesiii) 在JAR Library Installation里面,选择 Copy checked .4 点击下一步,出现如下界面:点击Finish5 鼠标右击工程-Add Hibernate Capabilities,出现如下界面:做如上图显示的选择,点击 Next ,进入如下界面:6选择 Spring configuration file,点击 Next7选择 Existing Spring configuration file, 在Sessi

3、onFactory ID后面的输入框输入session工厂名称,可以自己起名.我们这里输入sessionFactory. 点击 Next,进入下面界面8在Bean Id后面输入数据源的id,可以自己定义,我们这里输入 dataSource.在DB Driver里面,选择我们在前面配置的数据源,点击 Next ,进入下面界面:9在java package中输入Hibernate Session Factory类的包名,如果没有,可以点New生成一个新的包路径.在Class Name后面,输入即将生成的Hibernate Session Factory的类名,我们这是HibernateSessio

4、nFactory.选择Java5做为我们编译的JDK点 Finish 完成到这里,我们完成了Struts+Spring+Hibernate的框架搭建,还有最后一步,因为MyEclipse加入的Spring liberary和Hibernate3的liberary有冲突,不能正常运行,要解决这问题,需要将工程lib目录下(WebRoot/WEB-INF/lib)的jar文件都删除,数据库驱动程序除外,然后用将光盘里整理的jar文件copy进去.copy完jar文件,就完成了框架的所有搭建.接下来,我们介绍怎么样在这框架的基础上,开发我们的样例功能模块.上章我们已经解释了SSH框架的搭建,现在我们

5、开始在搭建好的SSH框架下进行开发。首先我们要建好需求中定义的数据库,并生成对应的POJO对象以及对象和表的映射文件。建表脚本1.建立数据库Create database demodb2.用户表(TUSER)CREATE TABLE demodb.TUSER (ID INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,USER_NAME VARCHAR(10) NOT NULL,NAME VARCHAR(30) NOT NULL,EMAIL VARCHAR(50),PHONE VARCHAR(20),PASSWORD VARCHAR(10) NOT NULL,PR

6、IMARY KEY (ID),UNIQUE INDEX Index_2(USER_NAME)3.商品表(SHOP)CREATE TABLE demodb.SHOP (NAME VARCHAR(50) NOT NULL,PRICE DOUBLE NOT NULL DEFAULT 0.0,SIMPLE_DESC VARCHAR(500) NOT NULL,ALL_DESC TEXT NOT NULL,PRIMARY KEY (ID)4.订单主表(TORDER)CREATE TABLE demodb.TORDER (USER_ID INTEGER UNSIGNED NOT NULL,ORDER_TI

7、ME DATETIME NOT NULL,R_ADDRESS VARCHAR(200) NOT NULL,R_NAME VARCHAR(50) NOT NULL,R_PHONE VARCHAR(20) NOT NULL,CONSTRAINT FK_ORDER_1 FOREIGN KEY FK_ORDER_1 (USER_ID)REFERENCES tuser (ID)ON DELETE RESTRICTON UPDATE RESTRICT5.订单详细表(ORDER_DETAIL)CREATE TABLE demodb.ORDER_DETAIL (ORDER_ID INTEGER UNSIGNE

8、D NOT NULL,SHOP_ID INTEGER UNSIGNED NOT NULL,AMOUNT INTEGER UNSIGNED NOT NULL DEFAULT 1,S_PRICE DOUBLE NOT NULL DEFAULT 0.0,A_PRICE DOUBLE NOT NULL DEFAULT 0.0,CONSTRAINT FK_ORDER_DETAIL_1 FOREIGN KEY FK_ORDER_DETAIL_1 (ORDER_ID)REFERENCES torder (ID)ON UPDATE RESTRICT,CONSTRAINT FK_ORDER_DETAIL_2 F

9、OREIGN KEY FK_ORDER_DETAIL_2 (SHOP_ID)REFERENCES shop (ID)6.日志表(LOG)CREATE TABLE demodb.LOG (USER_ID INTEGER UNSIGNED,OPERATE VARCHAR(50) NOT NULL,TIME DATETIME NOT NULL,SHOP_ID INTEGER UNSIGNED,CONSTRAINT FK_LOG_1 FOREIGN KEY FK_LOG_1 (USER_ID)CONSTRAINT FK_LOG_2 FOREIGN KEY FK_LOG_2 (SHOP_ID)7.用My

10、Eclipse Hibernate插件,生成初步的POJO对象和相关的映射xml文件在数据库中,建立一个数据库demoDB,运行上面的数据库脚本,在demoDB建立项目需要的表在MyEclipse中,配置数据源i)open perspective-ii)Open Connection,如果配置成功,可以展开如下类似界面,在demodb中可以找到用数据库脚本生成的表用MyEclipse的Hibernate插件,生成所有的POJO对象和映射xml文件在DB Browser窗口中,选中demodb里面的所有表,点击鼠标右键,出现如下界面:如上图进行相关选项的配置,注意Java src folder后

11、面的输入内容,是要指定工程里面的src目录,我们这里是 sshDemo/src. 配置好后,点击 Next 按钮,显示如下界面iii)tuser对应的POJO对象; Tuser.hbm.xml-Tuser POJO对象和tuser表的map xml; TuserDAO.java-tuser的DAO操作类生成的map xml文件中,class标签中有个catalog属性,在Oracle,SQL Server数据库中是有效的,可是在MySQL数据库中,会影响Hibernate具体操作中SQL语句的生成.在这里我们需要将它删除掉.比如Tuser.hbm.xml中有如下内容:class name=.b

12、ook.demo.hibernate.dao.Tuser table=tuser catalog=”demodb”我们需要将catalog=”demodb”删除,最后结果如下:对其它的map xml文件,也要做同样的处理打开一个自动生成的DAO,我们可以发现,里面已经生成了单个POJO对象的所有操作方法,比如TuserDAO.java里面,已经包含了对Tuser对象进行新增,修改,删除,根据主键查询,根据指定属性和值进行查询,以及根据每个属性进行查询.可是,生成的DAO,没有提供灵活多变的sql语句的查询,比如多个对象的联合查询,还有分页功能也没有实现.接下来的工作,是对这些自动生成的DAO,

13、添加上面缺少的功能事项.新增一个基类DAO,BaseDAO.java,代码如下:/* */package .book.demo.hibernate.dao;import java.sql.SQLException;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Set;import org.hibernate.HibernateException;import org.hibernate.Query;import org.hibernate.Session;import

14、org.springframework.orm.hibernate3.HibernateCallback;import org.springframework.orm.hibernate3.support.HibernateDaoSupport;* author Noble.Yang*public class BaseDAO extends HibernateDaoSupport / 默认分页大小private int RECORDS_PER_PAGE = 5;public int getPages(String queryStr, int pageSize, Map filterMap)th

15、rows HibernateException / 剔除掉order by部分,使得执行语句为简单的select count(*)from.int length = queryStr.indexOf(order by) 0 ? queryStr.indexOf() : queryStr.length();String hql = select count(*) + queryStr.substring(queryStr.indexOf(from), length);try Session session = this.getSession();Query query = session.cre

16、ateQuery(hql);setFilterToQuery(query, filterMap);List list = query.list();int size = 0;if (list.size() 0) size = (Integer) list.get(0).intValue();session.close();return getPages(size, pageSize); catch (HibernateException e) throw e;public int getRecordCount(String queryStr) throws HibernateException

17、 / size = (Integer) list.get(0);return size;* Description: 查询* param queryStr* hql语句* param targetPage* 当前查询页(当值为-1时,为不分页查询,否则为分页查询)* param pagesize* 分页大小* returnpublic List getAllByHql(final String queryStr, final int targetPage, final int pagesize)if (targetPage = 0 & targetPage != -1 | pagesize 1

18、)return null;/ 这里使用的是Hibernate的回调方式,目的是让Spring自己去管理Session/ 如果不用这种方式,可以自己用getSession()方法得到Session进行操作,如同其它方法中的使用/ 但是要注意,Session用完后,要及时close session,否则会有数据库连接不能及时释放问题return (List) this.getHibernateTemplate().execute(new HibernateCallback() public Object doInHibernate(Session session) throws Hibernate

19、Exception,SQLException Query query = session.createQuery(queryStr);if (targetPage != -1) query.setFirstResult(targetPage - 1) * pagesize);query.setMaxResults(pagesize);return query.list(););public List getAllByHql(String queryStr, int targetPage, int pagesize,Map filterMap) throws HibernateException List list = null

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1