insert intouser_info(user_name, account, password)
values
(#,#,#)
insert intomy_table(name,create_time,update_time)
values
(#,now(),now())
on duplicate key update name=values(name),update_time=now()
delete from user where id=#
update authorusername=#,
password=#,
email=#,
bio=#
where id=#
set標籤的好處時,可以根據需要動態的更新某些字段。set也會自動消除無關的逗號。
update my_test*** = #,
age = #
where
name = #
andtt = #
where id in#
andd.tag like concat('%', #, '%')
傳入引數為任何可迭代物件(如列表、集合等)和任何的字典或者陣列物件。列表時,index為索引值,item為元素;map時,index為key,item為value。
where create_time =]]> # and create_time #where create_time between # and #
where create_time between concat(date(#)," 00:00:00") and concat(date(#)," 23:59:59")
where create_time between date(#) and date_add(date(#),interval 1 day)
where1=1and create_time =]]> #
and my_filed = 1
and status = 1
order by $
desc
limit # offset #
and status = 1and status = 2
and status = 0
select * from blogwhere title like #
name like concat('%', #,'%')
select * from blogstate = #
and title like #
and author_name like #
where標籤的好處是,當沒有符合的條件時,mybatis會自動把where去掉。並且會忽略掉子句首的「and」和"or"。
神器!作用是非空子句首尾詞的替換。
引數說明:
where user_name = #or *** = #
or age = #
命中的語句有:
where user_name = ?where user_name = ? and( *** = ? )
where user_name = ? and( age = ? )
where user_name = ? and( *** = ? or age = ? )
預設情況下,使用#{}格式的語法會使 mybatis 建立預處理語句屬性並安全地設定值(比如?)。這樣做更安全,更迅速,通常也是首選做法,不過有時你只是想直接在 sql 語句中插入乙個不改變的字串。比如,像 order by,你可以這樣來使用:order by $,這裡 mybatis 不會修改或轉義字串。
注意:以這種方式接受從使用者輸出的內容並提供給語句中不變的字串是不安全的,會導致潛在的 sql 注入攻擊,因此要麼不允許使用者輸入這些字段,要麼自行轉義並檢驗。
end
mybatis常用總結
1.如果傳遞的單個字串的話,這樣寫 querybywherestr param str string mes 也可以寫成這樣,xml中直接引數型別直接為物件。public void delete string id delete from book where id 2.轉義符 3.like and...
MyBatis常用配置
在上文中,對於資料庫的資訊我們將之儲存在乙個db.properties檔案中,然後在mybatis conf.xml檔案中通過properties節點將之引入,如下 實際上,mybatis給我們提供的properties的配置方式不止這一種,我們也可以在properties節點中新增property...
mybatis常用配置
前面兩篇部落格我們簡單介紹了mybatis的使用,但是在mybatis的配置問題上我們只是使用了最基礎的配置,本文我們就來說說其他一些常用的配置。如果小夥伴對mybatis尚不了解,可以先參考這兩篇部落格初識mybatis 初識mybatis 二 老司機請略過。由於本文算是初識mybatis 初識m...