十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶(hù) + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專(zhuān)業(yè)推廣+無(wú)憂(yōu)售后,網(wǎng)站問(wèn)題一站解決
小編給大家分享一下Mybatis中注解怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
創(chuàng)新互聯(lián)長(zhǎng)期為上千客戶(hù)提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為依蘭企業(yè)提供專(zhuān)業(yè)的網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì),依蘭網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
Mybatis 除了 XML 配置寫(xiě)法,還可以使用注解寫(xiě)法。
首先需要引入 Mybatis 的依賴(lài):
org.mybatis.spring.boot mybatis-spring-boot-starter 1.3.2 tk.mybatis mapper-spring-boot-starter 1.1.3
然后在接口上打上對(duì)應(yīng) @Mapper 注解
下面是常用的 Myatis 注解寫(xiě)法:
【1】新增對(duì)象( 非自增 ID )
插入的時(shí)候,數(shù)據(jù)庫(kù)的值字段會(huì)自動(dòng)匹配對(duì)象中同名稱(chēng)屬性的值。
@Insert(value = { "INSERT INTO user (id, name, age, remark) VALUES (#{id}, #{name}, #{age}, #{remark})" }) public void addUser(User user);
【2】新增對(duì)象( 自增 ID )
如果數(shù)據(jù)庫(kù)user表的 id 是自增長(zhǎng),我們可以加上 @Options 注解,那么該對(duì)象在插入后,id 屬性會(huì)自動(dòng)獲取到主鍵。
@Options(useGeneratedKeys=true, keyProperty="id") 其中的 id 對(duì)應(yīng)數(shù)據(jù)庫(kù)表中的主鍵字段。
@Insert(value = { "INSERT INTO user (name, age, remark) VALUES (#{name}, #{age}, #{remark})" }) @Options(useGeneratedKeys=true, keyProperty="id") public void insertUser(User user);
【3】根據(jù) ID 查詢(xún)對(duì)象
@Param(value = "id") 其中的 id 對(duì)應(yīng) SQL 語(yǔ)句中的 #{id}
@Select("SELECT * FROM user WHERE id = #{id}") public User getUserById(@Param(value = "id") long id);
在查詢(xún)對(duì)象的過(guò)程中,表字段會(huì)自動(dòng)裝箱給同名屬性。當(dāng)然,也可以寫(xiě)成綁定形式。
如下:@Result 注解中 property 是對(duì)象字段,column 是表字段。
@Select("SELECT * FROM user WHERE id = #{id}") @Results({ @Result(property="id", column="id"), @Result(property="name", column="name"), @Result(property="age", column="age"), @Result(property="remark", column="remark"), }) public User getUserById(@Param(value = "id") long id);
【4】大于 ( > ) 查詢(xún)
在SQL 語(yǔ)句中,直接寫(xiě)作 > ,但在 xml 中,大于通常用轉(zhuǎn)義 > 替代 ( xml 寫(xiě)法介紹詳見(jiàn) 6.2)。
@Select("SELECT * FROM user WHERE age > #{age}") public ListgetUserList(@Param(value = "age") Integer age);
【5】小于 ( < ) 查詢(xún)
在SQL 語(yǔ)句中,直接寫(xiě)作 < ,但在 xml 中,小于通常用轉(zhuǎn)義 < 替代 ( xml 寫(xiě)法介紹詳見(jiàn) 6.2)。
@Select("SELECT * FROM user WHERE age < #{age}") public ListgetUserList(@Param(value = "age") Integer age);
【6】IN 關(guān)鍵字查詢(xún)
(6.1)帶 IN 的子查詢(xún)
@Select("SELECT * FROM user WHERE id IN (SELECT id FROM user WHERE name = #{name})") public ListgetUserList(@Param(value = "name") String name);
(6.2)帶 IN 的集合查詢(xún)
List 集合,Set集合,數(shù)組 都適用。
注意:@Select({""}) 這種寫(xiě)法為 xml 方式寫(xiě)法。所有 SQL 都在 這對(duì)標(biāo)簽之中,標(biāo)簽之外是一對(duì)大括號(hào),"})
public List 在 Postgrelsql 中,如果邏輯SQL中的 IN 和 ANY 的語(yǔ)義相同,那么盡量用 ANY,這樣會(huì)更加效率。如: 【7】LIKE 關(guān)鍵字查詢(xún) 【8】時(shí)間查詢(xún) (8.1)Date 類(lèi)型:直接傳入進(jìn)行比較 (8.2)String 類(lèi)型:需要將其轉(zhuǎn)化( 時(shí)間精度可以按自己需要裁取 ) MySQL :STR_TO_DATE('2008-08-08 08:08:08', '%Y-%m-%d %H:%i:%s') Postgrelsql :to_timestamp('2008-08-08 08:08:08','yyyy-MM-dd hh34:mi:ss') Oracle : to_date( '2008-08-08 08:08:08' , 'yyyy-MM-dd HH24:mi:ss' ) 如 Mysql 寫(xiě)法: 【9】高級(jí)查詢(xún)( 動(dòng)態(tài)SQL ) 注意:【>】是大于(>)的轉(zhuǎn)義,【<】 是小于(<)的轉(zhuǎn)義 【10】修改對(duì)象 【11】刪除對(duì)象 以上是“Mybatis中注解怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!@Select("SELECT * FROM user WHERE id = ANY(#{ids}::integer[])")
public List
@Select("SELECT * FROM user WHERE name LIKE concat('%', #{name}, '%') ")
public List
@Select("SELECT * FROM user WHERE create_time > #{createTime}")
public List
@Select("SELECT * FROM user WHERE create_time > STR_TO_DATE(#{createTime}, '%Y-%m-%d %H:%i:%s')")
public List
@Select({""})
public List
@Update("UPDATE user SET name = #{name} WHERE id = #{id}")
public void update(@Param(value = "id") Long id, @Param(value = "name") String name);
@Delete("Delete FROM user WHERE id = #{id}")
public void delete(@Param(value = "id") Long id);
網(wǎng)頁(yè)題目:Mybatis中注解怎么用
文章分享:http://m.jiaotiyi.com/article/jiosop.html