Mysql動態sql模糊查詢日期

2021-10-03 12:20:47 字數 707 閱讀 7170

業務要求是這樣的:我們在建立一行資料和修改它的時候會給它自動記錄建立時間和修改時間,在前端展示資料的時候需要可以對這個資料進行建立時間和修改時間的過濾;記錄的時候精確到秒,過濾的時間精確到天

因為整體還算簡單,以下只介紹幾個要點防我以後忘記

api層:

資料接收格式可以直接使用string而不是date

接收到資料並判空之後切分字串,我這裡根據業務需要只保留了日期的部分

正常的使用動態sql的流程以下略

以下:dto為我@param註解的value值

createday為字串型別的日期

value作為你可以自由拼接的乙個字段,name作為你給這個欄位的命名(我這裡為了方便直接使用了createday,可以是其他的),在這裡我們進行模糊查詢直接寫在動態sql中不妥當,所以用bind標籤封裝一下

== convert方法 ==用於轉換格式

test

="dto.createday!=null "

>

name

="createday"

value

="dto.createday+'%'

"/>

and convert(create_day,datetime) like #

if>

如上便全部完成了

動態sql模糊查詢和分頁

select from t mvc book select from t mvc book select from t mvc book where bid in select from t mvc book and bname like select from t mvc book and bid...

基於動態sql的模糊查詢

模糊查詢使用者名為username的資料記錄,通過id進行公升序 降序 排列 並進行分頁顯示 每頁5條記錄。select id,username password.from table name username like concat order by id desc asc limit 0,5 ...

mybatis 動態Sql的模糊查詢

1 where teacher.tname like concat concat 2 distinct的使用 下面先來看看例子 table id name 1 a2 b 3 c4 c 5 b比如我想用一條語句查詢得到name不重複的所有資料,那就必須使用distinct去掉多餘的重覆記錄。selec...