struts2.5入门 ,spring入门,hibernate入门 和SSH 框架

本文提供Struts2.5.16的资源下载链接,包括所有jar包和文档,并介绍了Struts2 OGNL表达式的使用。同时,涵盖了Spring框架的入门指南,包括常用注解说明和常见错误解析。此外,还详细讲解了Hibernate的入门知识,重点阐述了模糊查询的实现方式和配置关联关系的方法。最后,提供了SSH框架搭建的资源链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.struts2.5.16

所有jar及文档(包含入门jar):

https://download.youkuaiyun.com/download/weixin_41488437/10838047

struts2 ognl表达式

https://blog.youkuaiyun.com/weixin_41488437/article/details/84924876

2.Spring 入门

spring 常用注解:

https://blog.youkuaiyun.com/weixin_41488437/article/details/84929698

Spring 常见错误

https://blog.youkuaiyun.com/weixin_41488437/article/details/84920806

 3.Hibernate 入门

 1.所需jar  (hibernate常用jar,mysql驱动,Junit4jar)

https://download.youkuaiyun.com/download/weixin_41488437/10838090

2.模糊查询

我们这里就使用了Restrictions.like() 来处理

这个方法有三个参数

如下

Restrictions.like(propertyName, value, matchMode)

第一个参数表示需要查询的字段名,第二个参数表示需要匹配的数据,第三个参数表示查询的精度,默认是精确匹配,相当于sql的 like 'value'

 

第三个参数是可选的

 

第一和第二个参数好理解,主要是第三个参数,他可以是以下的值

MatchMode.EXACT 精确匹配,相当于 like 'value'
MatchMode.ANYWHERE 字符串在中间位置,相当于 like '%value%'
MatchMode.START 字符串在最前面的位置,相当于“like 'value%'
MatchMode.END 字符串在最后面的位置,相当于“like '%value'

默认情况下是第一个,精确匹配

 

如果你只想使用两个参数,想实现后面的三种查询方法,那我们就需要在参数中构造

如下面的代码

criteria.add(Restrictions.ilike("shopdes", "%"+stext+"%"));

也就是说上面的代码和下面的代码是一样的结果

criteria.add(Restrictions.ilike("shopdes", stext,MatchMode.ANYWHERE));

如果您的代码直接是这样

criteria.add(Restrictions.ilike("shopdes", stext));

那你的结果和上面的结果是不一样的哦,这个是精准查找了,不是模糊查找了

下面的代码也是一个意思

criteria.add(Restrictions.ilike("shopdes", stext+"%"));  
criteria.add(Restrictions.ilike("shopdes", stext,MatchMode.START)); 

下面的代码也是一个意思

criteria.add(Restrictions.ilike("shopdes", "%"+stext));  criteria.add(Restrictions.ilike("shopdes", stext,MatchMode.END));

我们还可以这样进行组合模糊查询,如下代码

criteria.add(Restrictions.or(Restrictions.like("shopdes", stext,MatchMode.ANYWHERE),Restrictions.like("shopname", stext)));
 

以上代码表示,查询,如果这个字符串和shopdes是模糊匹配,或者和shopnama是精准匹配都符合我们的要求

关于DetachedCriteria的其他一些查询方法,整理如下

Restrictions.eq() 这个就是比较,和java的equalsleisi
Restrictions.allEq() 参数为Map对象,使用key/value进行多个等于的对比,相当于多个Restrictions.eq()的效果
Restrictions.gt() 大于Restrictions.ge() 大于等于
Restrictions.lt() 小于
Restrictions.le() 小于等于
Restrictions.between() 和SQL的between子句类似
Restrictions.in() 对应SQL的in子句
Restrictions.and() and关系
Restrictions.or() or关系
Restrictions.isNull() 判断属性是否为空,为空返回true,否则返回false
Restrictions.isNotNull() 与Restrictions.isNull()相反
Order.asc() 根据传入的字段进行升序排序
Order.desc() 根据传入的字段进行降序排序

3.hibernate 配置关联关系

1.单向一对多,或者单向多对一,之需配置一方,但只能从一方查另一方,而不能反过来查询

2.一般配置双向一对多,或者说双向多对一,一方配置one-to-many,另一方配置many-to-one,查询从哪一方查到哪一方都行,一般在一方配置inverse=true来使多方维护关系,减少不必要的update语句,提高性能(默认不配:inverse=false,双方都维护,性能折扣)

3.多对多一定为双向,必须配置一方的inverse=true,让对方维护关系,

4.配置cascade="save-update"的集合对应的表将有级联保存或更新,假如是多对多关系会自动在中间表插入数据
 

 4.SSH搭建

https://github.com/wearefamily6666/web---ssh

ps:

引用bean

    ApplicationContext act = new ClassPathXmlApplicationContext("applicationContext.xml");
    userService= act.getBean(IUserService.class);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值