spring boot中nativeQuery的用法
spring boot就是一個大框架里面包含了許許多多的東西,其中spring就是最核心的內(nèi)容之一,當(dāng)然就包含spring mvc。spring mvc 是只是spring 處理web層請求的一個模塊。
因此他們的關(guān)系大概就是這樣:spring mvc < spring <springboot。
Spring框架概述什么是SpringSpring是一個開源框架,Spring是于2003 年興起的一個輕量級的Java 開發(fā)框架,由Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》。Spring是為了解決企業(yè)級應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的,使用Spring可以讓簡單的JavaBean實(shí)現(xiàn)之前只有EJB才能完成的事情。但是Spring不僅僅局限于服務(wù)器端開發(fā),任何Java應(yīng)用都能在簡單性、可測試性和松耦合性等方面從Spring中獲益。
nativeQuery = true的作用當(dāng)語句中有 nativeQuery = true時, @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時,會將該'select u.username,u.password from t_user u where u.username = ?1 and u.password = ?2'拷貝到數(shù)據(jù)庫,并填充占位符。但是執(zhí)行語句時,有一個要求就是語句中的表名(t_user)和字段名(username,password)必須為數(shù)據(jù)庫中的表名和字段名,
當(dāng)沒有nativeQuery = true時,@Query中value值的sql語句就只能按照規(guī)范來寫。否則就會報錯
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)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. python中scrapy處理項目數(shù)據(jù)的實(shí)例分析2. Python中讀取文件名中的數(shù)字的實(shí)例詳解3. 在idea中為注釋標(biāo)記作者日期操作4. 通過Ajax方式綁定select選項數(shù)據(jù)的實(shí)例5. JSP頁面的靜態(tài)包含和動態(tài)包含使用方法6. ASP.Net Core對USB攝像頭進(jìn)行截圖7. ASP.NET MVC使用Boostrap實(shí)現(xiàn)產(chǎn)品展示、查詢、排序、分頁8. .net如何優(yōu)雅的使用EFCore實(shí)例詳解9. 使用AJAX(包含正則表達(dá)式)驗證用戶登錄的步驟10. ajax動態(tài)加載json數(shù)據(jù)并詳細(xì)解析
