【hibernate-筆記】

來源:互聯網
上載者:User

標籤:主鍵自增   comm   hiberna   rom   result   _id   res   max   not   

//1 建立,調用空參構造
Configuration conf = new Configuration().configure();
//2 根據配置資訊,建立 SessionFactory對象
SessionFactory sf = conf.buildSessionFactory();

Session session = sf.openSession();//每次open session 擷取的都不是同一個對象

Session session = sf.getCurrentSession();//同一個線程綁定的session是一個對象

// 控制事務
Transaction tx = session.beginTransaction();

session.save(object); //持久化狀態

tx.commit();
session.close(); 

hibernate 主鍵自增策略下插入操作會先執行select count(*) 操作來擷取最大的id值,用來擷取插入本次save的主鍵

hibernate 的一級緩衝機制 

 

HQL:

String hql = " from Stu"; // 查詢所有Customer對象

Query query = session.createQuery(hql);

List<Student> list = query.list(); // 返回list結果

query.uniqueResult();//接收唯一的查詢結果

條件查詢:

//HQL語句中,不可能出現任何資料庫相關的資訊的
// >        gt
// >        =ge
// <      lt
// <=       le
// ==       eq
// !=      ne
// in      in
// between and   between
// like       like
// is not null        isNotNull
// is null              isNull
// or      or
// and     and

Student criteria = session.createCriteria(Student.class);

//執行查詢獲得結果

List<Student> list = criteria.list();

 

//添加查詢參數 => 查詢cust_id為1的Stu對象
criteria.add(Restrictions.eq("stu_id", 1l));

Stu s = (Student) criteria.uniqueResult();

 

//建立criteria查詢對象
Criteria criteria = session.createCriteria(Student.class);
//設定分頁資訊 limit ?,?
criteria.setFirstResult(1);
criteria.setMaxResults(2);
//執行查詢
List<Srudent> list = criteria.list();

 

//查詢總數

//建立criteria查詢對象
Criteria criteria = session.createCriteria(Student.class);
//設定查詢的彙總函式 => 總行數
criteria.setProjection(Projections.rowCount());
//執行查詢
Long count = (Long) criteria.uniqueResult();

 

 

sql:

SQLQuery query = session.createSQLQuery("select * from stu");
List<Object[]> list = query.list();

 

 

SQLQuery query = session.createSQLQuery("select * from stu");

//指定將結果集封裝到哪個對象中
query.addEntity(Student.class);
// 調用方法查詢結果
List<Student> list = query.list();

 

//建立sql查詢對象
SQLQuery query = session.createSQLQuery("select * from stu where stu_id = ?");
query.setParameter(0, 1l);
//指定將結果集封裝到哪個對象中
query.addEntity(Student.class);
//調用方法查詢結果
List<Studnet> list = query.list();

 

 

//建立sql查詢對象
SQLQuery query = session.createSQLQuery("select * from stu limit ?,? ");
query.setParameter(0, 0);
query.setParameter(1, 1);
//指定將結果集封裝到哪個對象中
query.addEntity(Student.class);
//調用方法查詢結果
List<Studnet> list = query.list();

 

【hibernate-筆記】

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.