第4.29课 上课 from子句, select子句, selectnew子句,…

4_29

from子句

from子句:

语法:from|FROM 持久化类 [as? 对象名|别名]?

 

示例:

from Student

from Student as s

from Student s

 

查询表中所有的数据返回List<Student>.

select子句

select子句:

语法:

-- select 对象名|对象名.属性名 from 持久化类 as 对象名

-- select 属性名 from 持久化类

 

示范:

select s from Student s --> List<Student>

select s.name from Student s --> List<String>

select s.name, s.age from Student s --> List<Object[]>

select name, age from Student --> List<Object[]>

select s, s.name from Student s --> List<Object[]>

 

 

 select 对象名|对象名.属性名 from 持久化类 as 对象名

 select 属性名 from 持久化类

select new子句

select new 子句: (可以改变List集合中存放的是什么)

语法:

-- select new 持久化类名(name, age) from Student : List<持久化类>

-- select new map(s.name as key, s.age as key) from Student s : List<Map> [{},{}] JSONArray

-- select new list(s.name, s.age) from Student s : List<List> [[],[]] JSONArray(二维数组)

 

 select new 数据传输类(属性名,属性名)

 select new map(属性名 as key,属性名 as key)

 select new list(属性名,属性名)

order by(排序)

group by(分组)

 having(分组过滤)

where子句部分

where子句部分(查询过滤部分)

-- Hibernate的where子句部分能支持的运算符,表达式、函数特别多,用法与sql语句是一样的.

a.

 

b. 支持EJB-QL 3.0的函数:

trim(), lower(), upper(), length(), abs(), sqrt(), bit_length(), mod()

 

 聚集函数(统计函数)

聚集函数(统计函数): count()、sum()、max()、min()、avg().

  count()统计总数

  sum()求和

  max()求最大值

  min()求最小值

  avg()求平均值

 常用的表达式、运算符、函数

常用的表达式、运算符、函数:

=、<、<=、>、>=、!=、and、or、distinct、between...and 、like、concat()、

is null, is not null, is empty, is not empty、second(...),

minute(...), hour(...), day(...), month(...).

 

  表达式

=、<、<=、>、>=、!=

 

  distinct(去掉重复)

  concat(字符串连接)

  between(在A和B之间)

  not between(不在A和B之间)

  使用like进行模糊查询

  in(在指定的一个范围)

  not in(不在指定的范围)

 

  and并且条件连接

  not like

  or或者条件连接

  not求反

  is null(is empty)判断某个属性值是否为空

  not is null(is not empty)判断某个值是否不为空

posted on 2018-01-31 22:28  東風★破  阅读(1224)  评论(0)    收藏  举报

导航