Sequlize查詢介面

2021-07-29 21:58:49 字數 2795 閱讀 5171

以下使用中, sequlize為 資料庫連線後得到的物件, model為sequlize定義的 對應表的模型.

model.findall(

attribute: ['name', 'age']

);// 相當於sql中 select name,age from tablename

// 說明

/* 在sequlize中,使用attribute以陣列的形式來表明要選擇的 資料庫表的屬性,

如果不設定,預設 表 中 所有字段 都選上.

*/

model.findall(

attribute: ['name', ['age', 'user_name']]

);// 相當於sql中 select name,age as user_name from tablename

// 說明

/*attribute陣列中某個屬性要取別名, 可以 將該屬性 替換成 乙個陣列, 陣列格式為: ['原先的屬性名稱', '要設定的別名']*/

model.findall(

attribute: ['name', [sequlize.fn('count', sequlize.col('colname')), 'alias']]

);// 相當於sql中 select name,count(colname) as aliasname from tablename

// 說明

/*sequlize.fn('函式的名字', '函式的其它引數')

因此在 上述語句中,有一下功能:

1. 使用count函式,引數為 count的引數為colname

2. 使用陣列為該聚合屬性 設定別名 alias,便於獲取該屬性值

*/

// include

// 如果要選取表中所有屬性,僅僅是要增加新的屬性.

model.findall();

// 替換成sequelize便捷操作

model.findall();

// 相當於 select name,age,school,count(gf) as life from tablename

// 說明

/*include 會將所有的表的屬性選上,幷包括陣列中的新的屬性

因此在 上述語句中,有一下功能:

1. 選擇所有表的字段

2. 將聚合新字段加入搜尋結果中

*/

// extend

// 如果要選取表中所有屬性,僅僅是要排其中某個屬性.

model.findall();

// 替換成sequelize便捷操作

model.findall();

// 去除school,相當於 select name,age from tablename

// 說明

/*exclude 會將所有的表的屬性選上,幷包括陣列中的新的屬性

因此在 上述語句中,有以下功能:

1. 選擇所有表的字段

2. 將school欄位排除

*/

sql中的where 對應 sequelize查詢物件中的where.

model.findall(      

});// 相當於 select * from tablename where name=`@sunhao`

// 說明

/*where 應該賦值為物件.

普通的鍵值對,被作為相等條件處理.

*/

sequlize支援有很多操作符號,一下為我常用的(初學者):

$and: // and (a = 5)

$or: [, ] // (a = 5 or a = 6)

$gt: 6, // > 6 greater than

$gte: 6, // >= 6 greater than equla

$lt: 10, // < 10 less than

$lte: 10, // <= 10 less than eqaul

$ne: 20, // != 20 not equal

$not: true, // is not true

$between: [6, 10], // between 6 and 10

$notbetween: [11, 15], // not between 11 and 15

$in: [1, 2], // in [1, 2]

$notin: [1, 2], // not in [1, 2]

$like: 『%hat』, // like 『%hat』

$notlike: 『%hat』 // not like 『%hat』

根據字段排序

model.findall();

// 或者 對單個屬性(預設遞增)

model.findall();

JPA介面查詢

本人首次玩,有不對的地方請見諒,不喜勿噴,謝謝.有時可以看到在dao裡面的介面方法,有些是沒有用註解寫sql語句也沒有在配置檔案寫sql語句的,而只是有個光禿禿的介面名,但是它既然還可以查詢到資料庫裡的資料.因為這是用到了jpa,介面名遵循jpa方法命名規則,通過介面名就可以解析成sql語句,然後查...

航班查詢介面

航班查詢介面 using system using system.text using system.net namespace plane url 支援格式 json http請求方式 get post demo name ca5901 key yourkey 返回示例 備註 航班查詢,要先有ke...

航班查詢介面

航班查詢介面 using system using system.text using system.net namespace plane url 支援格式 json http請求方式 get post demo name ca5901 key yourkey 返回示例 備註 航班查詢,要先有ke...