Hibernate 命名查詢

2022-02-17 06:29:33 字數 3790 閱讀 4463

1.定義

hibernate允許在對映配置檔案中定義字串形式的查詢語句,這種查詢方式被稱為命名查詢。

2.建立表結構並新增測試資料

create

table

`student` (

`id`

double

, `age`

double

, `name`

varchar (96));

insert

into `student` (`id`, `age`, `name`) values('

1','

20','張三'

);insert

into `student` (`id`, `age`, `name`) values('

2','

21','李四'

);insert

into `student` (`id`, `age`, `name`) values('

3','

21','李四'

);insert

into `student` (`id`, `age`, `name`) values('

4','

22','

王五');

3.建立持久化類和配置檔案

3.1hibernate.cfg.xml配置檔案

xml version='1.0' encoding='utf-8'

?>

doctype hibernate-configuration public

"-//hibernate/hibernate configuration dtd 3.0//en"

"">

<

hibernate-configuration

>

<

session-factory

>

<

property

name

="dialect"

>org.hibernate.dialect.mysqldialect

property

>

<

property

name

="connection.url"

>

jdbc:mysql://localhost:3306/test

property

>

<

property

name

="connection.username"

>root

property

>

<

property

name

="connection.password"

>root

property

>

<

property

name

="connection.driver_class"

>

com.mysql.jdbc.driver

property

>

<

property

name

="current_session_context_class"

>thread

property

>

<

property

name

="format_sql"

>true

property

>

<

property

name

="show_sql"

>true

property

>

<

property

name

="hbm2ddl.auto"

>update

property

>

<

resource

="cn/entity/student.hbm.xml"

/>

session-factory

>

hibernate-configuration

>

3.2student.hbm.xml配置檔案

xml version="1.0"

?>

>

<

package

="cn.entity"

>

<

class

name

="student"

table

="student"

>

<

id name

="id"

>

<

generator

class

="native"

/>

id>

<

property

name

="age"

column

="age"

/>

<

property

name

="name"

column

="name"

/>

class

>

<

query

name

="byidfindstu1"

>

from student s where s.id=:id

]]>

query

>

<

sql-query

name

="byidfindstu2"

>

select from student stu where stu.id=?

]]>

<

return

alias

="stu"

class

="cn.entity.student"

/>

sql-query

>

>

4.hibernateutis工具類

/**

* 工具類

* @author *

*/public

class

hibernateutils

//提供乙個靜態方法

public

static

session currentsession()

return

session;

}//關閉session

public

static

void

closesession()}}

5.測試類

/**

* 學生的測試類

* @author

hyj * */

public

class

studenttest

/*** 本地sql命名查詢

*/@test

public

void sqlnamequery()

}

6.測試結果

db端

客戶端

Hibernate命名查詢

hibernate命名的查詢是通過一些有意義的名稱來使用查詢的方式。就類似於使用別名一樣。hibernate框架提供命名查詢的概念,以便應用程式設計師不需要將查詢分散到所有的j a 進一步提高 的可維護性。在hibernate中定義命名查詢有兩種方法 如果要在hibernate中使用命名查詢,則需要...

hibernate 原生sql 命名查詢

sql query中必須把錶所有的列寫全才可以,否則會出現 列名無效 的錯誤 除非你使用return scalar來設定字段型別。使用return property來明確地指定字段 別名,但是列字段要寫全,兩種配置方式 select from blog t where t.content like ...

hibernate10 命名查詢

public class emptest 命名查詢 hibernate允許我們在xml對映檔案或者類中 使用註解的方式 定義字串形式的查詢語句!命名查詢 可以寫 hql也可以是sql語句!程式不區分命名查詢語句的型別 hql,sql 只會根據名稱進行查詢!getnamedquery 得到我們實現寫好...