spring boot中nativeQuery的用法
Springboot入門介紹
spring boot就是一個(gè)大框架里面包含了許許多多的東西,其中spring就是最核心的內(nèi)容之一,當(dāng)然就包含spring mvc。
spring mvc 是只是spring 處理web層請(qǐng)求的一個(gè)模塊。
因此他們的關(guān)系大概就是這樣:
spring mvc < spring <springboot。
Spring框架概述
什么是Spring
Spring是一個(gè)開源框架,Spring是于2003 年興起的一個(gè)輕量級(jí)的Java 開發(fā)框架,由Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》。Spring是為了解決企業(yè)級(jí)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的,使用Spring可以讓簡單的JavaBean實(shí)現(xiàn)之前只有EJB才能完成的事情。但是Spring不僅僅局限于服務(wù)器端開發(fā),任何Java應(yīng)用都能在簡單性、可測(cè)試性和松耦合性等方面從Spring中獲益。
nativeQuery = true的作用
當(dāng)語句中有 nativeQuery = true時(shí), @Query中的sql語句可以為自己手寫的原生sql,并且寫的原生sql是可以執(zhí)行的,例如:
@Query(value = "select u.username,u.password from t_user u where u.username = ?1 and u.password = ?2", nativeQuery = true)
List<User> findByZH(String username, String password);
當(dāng)執(zhí)行@Query時(shí),會(huì)將該"select u.username,u.password from t_user u where u.username = ?1 and u.password = ?2"拷貝到數(shù)據(jù)庫,并填充占位符。但是執(zhí)行語句時(shí),有一個(gè)要求就是語句中的表名(t_user)和字段名(username,password)必須為數(shù)據(jù)庫中的表名和字段名,
當(dāng)沒有nativeQuery = true時(shí),@Query中value值的sql語句就只能按照規(guī)范來寫。否則就會(huì)報(bào)錯(cuò)
Error creating bean with name 'userMapper' defined in com.example.demo.dao.UserMapper defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar
規(guī)范就是:表名必須是所寫的實(shí)體類名,字段名也必須是實(shí)體類中的自定義的變量名,例如:
@Query(value = "select u.userName from User u where u.userName = ?1")
List<User> findByUserName(String username);
到此這篇關(guān)于spring boot中nativeQuery的作用的文章就介紹到這了,更多相關(guān)spring boot中nativeQuery內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaWeb購物車項(xiàng)目開發(fā)實(shí)戰(zhàn)指南
之前沒有接觸過購物車的東東,也不知道購物車應(yīng)該怎么做,所以在查詢了很多資料,總結(jié)一下購物車的功能實(shí)現(xiàn),下面這篇文章主要給大家介紹了關(guān)于JavaWeb購物車項(xiàng)目開發(fā)的相關(guān)資料,需要的朋友可以參考下2022-06-06
java.lang.String和java.util.NClob互相轉(zhuǎn)換方式
這篇文章主要介紹了java.lang.String和java.util.NClob互相轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09
Character.UnicodeBlock中cjk的說明詳解
這篇文章主要為大家詳細(xì)介紹了Character.UnicodeBlock中cjk的說明,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-09-09
Java并發(fā)編程示例(七):守護(hù)線程的創(chuàng)建和運(yùn)行
這篇文章主要介紹了Java并發(fā)編程示例(七):守護(hù)線程的創(chuàng)建和運(yùn)行,在本節(jié)示例中,我們將創(chuàng)建兩個(gè)線程,一個(gè)是普通線程,向隊(duì)列中寫入事件,另外一個(gè)是守護(hù)線程,清除隊(duì)列中的事件,需要的朋友可以參考下2014-12-12
Spring aop+反射實(shí)現(xiàn)電話號(hào)加密
線上項(xiàng)目涉及大量查詢接口中,存在電話號(hào)明文展示不合規(guī)的問題。如果對(duì)每個(gè)接口返回結(jié)果中電話號(hào)相關(guān)字段修改相關(guān)代碼邏輯,則工作量較大花費(fèi)時(shí)間多。因此設(shè)計(jì)電話號(hào)加密注解,減少工作量。2021-06-06

