日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

hibernate QBC检索方式查询

發(fā)布時間:2025/7/14 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hibernate QBC检索方式查询 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Hibernate提供了一套符合Java編程習(xí)慣的API,即QBC(Query By Creteria)檢索方式,
主要郵Criteria接口,Criterion接口和Expression類組成.優(yōu)點(diǎn)是支持動態(tài)查詢,在編譯時就進(jìn)行解析,容易排除錯誤;缺點(diǎn)是沒有HQL功能強(qiáng)大.
Hibernate.java
package mrgf;

import java.util.List;
import org.hibernate.cfg.Configuration;
import org.hibernate.SessionFactory;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.Criteria;
import org.hibernate.criterion.Criterion;
import org.hibernate.criterion.Expression;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.MatchMode;
import java.util.Map;
import java.util.HashMap;

public class Hibernate {
??? public Hibernate() {
??? }
??? // 在靜態(tài)快中加載Hibernate配置信息
??? private static SessionFactory sessionFactory;
??? static {
??????? try {
??????????? Configuration config = new Configuration().configure();
??????????? sessionFactory = config.buildSessionFactory();
??????? } catch (Exception e) {
??????????? System.out.println("------在初始化hibernate時拋出異常,內(nèi)容如下:");
??????????? e.printStackTrace();
??????? }
??? }
??? private Session session = null;
??? private Transaction tx = null;
??? //檢索對象
??? public List query() {
??????? // 打開Session,開啟事物
??????? session = sessionFactory.openSession();
??????? tx = session.beginTransaction();
??????? //? 檢索數(shù)據(jù)
??????? Criteria criteria = session.createCriteria(Record.class); //Record在my.bean里面
??????? criteria.addOrder(Order.desc("id"));? //降序
??????? Criterion criterion = Expression.eq("sex", "男"); //條件,有這句就不用select來查詢了
??????? criteria.add(criterion); //把條件給criteria
??????? List result = criteria.list();?? //criteria相當(dāng)于query,自己本身就是查詢
??????? // 提交事物,關(guān)閉Session
??????? tx.commit();
??????? session.close();
??????? return result;
??? }

}


index.jsp使用
<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="java.util.*" %>
<%@ page import="mrgf.*" %>
<html>
<head>
<title>
index
</title>
</head>
<body bgcolor="#ffffff">
<table width="490"? border="0" cellspacing="0" cellpadding="0">
? <tr>
??? <td>&nbsp;</td>
??? <td><table width="100%" background="image/bg.jpg" border="0" cellspacing="0" cellpadding="0">
????? <tr>
??????? <td>&nbsp;</td>
????? </tr>
????? <tr align="center">
??????? <td>員工檔案表</td>
????? </tr>
????? <tr>
??????? <td>&nbsp;</td>
????? </tr>
????? <tr align="center">
??????? <td><table width="96%"? border="1" cellspacing="0" cellpadding="4">
????????? <tr align="center">
??????????? <td>編號</td>
??????????? <td>姓名</td>
??????????? <td>性別</td>
??????????? <td>出生日期</td>
??????????? <td>民族</td>
??????????? <td>學(xué)歷</td>
??????????? <td>籍貫</td>
??????????? <td>家庭住址</td>
????????? </tr>
????????? <%
????????? Hibernate hibernate = new Hibernate();
????????? List l=hibernate.query();
????????? Iterator it=l.iterator();
????????? while(it.hasNext()){
??????????? Record r=(Record)it.next();
????????? %>
????????? <tr align="center">
??????????? <td><%=r.getId() %></td>
??????????? <td><%=r.getName() %></td>
??????????? <td><%=r.getSex() %></td>
??????????? <td><%=r.getBirthday() %></td>
??????????? <td><%=r.getNation() %></td>
??????????? <td><%=r.getSchoolAge() %></td>
??????????? <td><%=r.getNativePlace() %></td>
??????????? <td><%=r.getAddress() %></td>
????????? </tr>
????????? <%
????????? }
????????? %>
??????? </table></td>
????? </tr>
????? <tr>
??????? <td>&nbsp;</td>
????? </tr>
??? </table></td>
??? <td>&nbsp;</td>
? </tr>
</table>
</body>
</html>


QBC檢索方式常用的設(shè)定查詢條件的方法
查詢條件???????? 設(shè)定方法?????? 方法說明
單條件等于?????? Expression.eq(String attribute,String value)??????? equal,兩個參數(shù)依次為要檢索屬性和檢索值
多條件等于?????? Expression.allEq(Map attEq Val)?????????????????????? 通過Map型入口參數(shù)可以同時設(shè)定多個檢索條件
不等于?????????????? Expression.not(? Expression.eq())?????????????????????? 通過方法的聯(lián)合使用實(shí)現(xiàn)不等于
大于?????????????????? Expression.gt(String attribute,String value)???????? greate-than,檢索屬性attribute的值大于value值 的記錄
大于等于?????????? Expression.ge(String attribute,String value)???????? greate-equal,檢索屬性attribute的值大于或者等于value值 的記錄
小于?????????????????? Expression.lt(String attribute,String value)????????? less-than?? 檢索屬性attribute的值小于value值 的記錄
小于等于?????????? Expression.le(String attribute,String value)????????? less-equal,檢索屬性attribute的值小于或者等于 value值 的記錄
空值?????????????????? Expression.isNull(String attribute)?????????????????????? 入口參數(shù)為要檢索的屬性
非空?????????????????? Expression.isNotNull(String attribute)??????????????? 入口參數(shù)為要檢索的屬性
在列表中?????????? Expression.in()???????????????????????????????????????????????????? 等同于SQL語句中的IN子句
不在列表中?????? Expression.not(Expression.eq())????????????????????????? 等同于SQL語句中的NOT IN子句???
在范圍內(nèi)?????????? Expression.between()?????????????????????????????????????????? 等同于SQL語句中的BETWEEN子句
不在范圍內(nèi)?????? Expression.not(Expression.between())??????????????? 等同于SQL語句中的NOT BETWEEN子句
與?????????????????????? Expression.and()????????????????????????????????????????????????? 等同于SQL語句中的AND
或?????????????????????? Expression.or()??????????????????????????????????????????????????? 等同于SQL語句中的OR
非?????????????????????? Expression.not()????????????????????????????????????????????????? 等同于SQL語句中的NOT
字符串匹配?????? Expression.like()????????????????????????????????????????????????? 檢索指定字符串,并可以指定匹配模式
升序排列?????????? Order.asc(String attribute)??????????????????????????????????? 按入口參數(shù)指定的屬性升序排列
降序排列?????????? Order.desc(String attribute)????????????????????????????????? 按入口參數(shù)指定的屬性降序排列
精確匹配?????????? MatchMode.EXACT????????????????????????????????????????? 等同于SQL語句中的"LIKE 'value'"子句
包含匹配?????????? MatchMode.ANYWHERE???????????????????????????????? 等同于SQL語句中的"LIKE '%value%'"子句
左匹配?????????????? MatchMode.START?????????????????????????????????????????? 等同于SQL語句中的"LIKE 'value%'"子句
右匹配?????????????? MatchMode.END??????????????????????????????????????????????? 等同于SQL語句中的"LIKE '%value'"子句

總結(jié)

以上是生活随笔為你收集整理的hibernate QBC检索方式查询的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 色综合999 | 91精品国产乱码久久久久久久久 | 日本久色| 国产成人精品无码免费看在线 | 国产91看片| 久久色播 | 韩国激情呻吟揉捏胸视频 | 日本男女网站 | 91黄色影视| 日产mv免费观看 | 女人18毛片毛片毛片毛片区二 | 先锋资源久久 | 2024国产精品视频 | 97免费超碰| 青青草av | 自拍第二页 | 无遮挡在线 | 欧美国产日韩在线观看成人 | 丰满少妇在线观看bd | 毛片无遮挡高清免费观看 | 欧美成人精品一区二区男人小说 | 99欧美精品 | 欧美大片高清免费观看 | 日本少妇做爰全过程毛片 | 国产www色| 亚洲成av人片在线观看无 | 欧美高清二区 | 91爱爱.com | 国产剧情一区二区三区 | 久久久久一级片 | 国产精品二区一区二区aⅴ 一卡二卡三卡在线观看 | 国产精品欧美激情在线 | 狂野欧美性猛交xxxxhd | 国产日本在线 | 精国产人伦一区二区三区 | 五月婷婷综合在线 | 国产伦理久久精品久久久久 | 情侣在线视频 | 国产高清一级 | 亚洲欧美日韩国产综合 | 国产午夜精品一区二区三区 | 白峰美羽在线播放 | 精品人妻一区二区三区久久嗨 | 国产黄色影视 | 天天久久综合 | 久久久久久久久久久福利 | 91精品国产91久久久久久吃药 | xxx视频在线观看 | 中国18videosex极品 | 98av视频 | 国产高清免费观看 | 一级做a爱片性色毛片 | 男女av在线 | 浪浪视频在线观看 | 老鸭窝一区二区 | 日本久色 | 丁香婷婷视频 | 99热在线国产| 国产精品久久久久久一区二区 | 丝袜国产在线 | 亚洲双插 | 秋霞av影院 | 欧美男人又粗又长又大 | 五月婷婷六月香 | 少妇一级淫免费播放 | 欧美肉大捧一进一出免费视频 | 亚洲精品网址 | 国产中文字幕免费 | 超碰一区 | 精品人妻一区二区三区四区在线 | 日韩亚洲欧美精品 | 国产美女永久无遮挡 | 欧美午夜大片 | 欧美日韩精品亚洲精品 | 午夜久久福利 | 日韩精品一区二区三区在线视频 | 精品夜夜澡人妻无码av | 久久精品国产99久久不卡 | 欧美性猛交xxxx乱大交hd | 热久久这里只有精品 | 亚洲精品短视频 | 少妇在线播放 | 男人天堂最新网址 | 激情草逼 | 婷婷激情久久 | 国产精品高潮呻吟久久久 | 国产精品一区二区性色av | av性色| 国产九色在线播放九色 | 嫩草影院一区二区三区 | 三级视频黄色 | 黄色三级免费网站 | 日韩av一二区 | 精彩视频一区二区 | 亲切的金子片段 | 9.1成人看片| 久久久久久草 | 黄色大片视频 | 国产精品国产三级国产aⅴ下载 |