摘要:課程目標(biāo)完成與與的的集成處理數(shù)據(jù)課程計(jì)劃使用完成博客后臺管理員列表的搜索課程分析想要完成列表的搜索,就必須對按提交搜索條件進(jìn)行邏輯判斷組織也就是動態(tài)步驟加入依賴使用配置使用使用注解方式動態(tài)動
課程目標(biāo)
完成與spring boot 與的mybatis的集成處理數(shù)據(jù)curd
課程計(jì)劃使用mybatis完成博客后臺管理員列表的jqgird搜索
課程分析想要完成列表的搜索,就必須對sql按提交搜索條件進(jìn)行邏輯判斷組織sql,也就是動態(tài)sql步驟 1.加入依賴
// build.gradle dependencies { compile("org.springframework.boot:spring-boot-starter-web") compile("org.springframework.boot:spring-boot-starter-thymeleaf") compile("org.springframework.boot:spring-boot-devtools") // JPA Data (We are going to use Repositories, Entities, Hibernate, etc...) compile "org.springframework.boot:spring-boot-starter-data-jpa" // Use MySQL Connector-J compile "mysql:mysql-connector-java" // 使用mybatis compile("org.mybatis.spring.boot:mybatis-spring-boot-starter:1.3.2") developmentOnly("org.springframework.boot:spring-boot-devtools") testCompile("junit:junit") }2. 配置mybatis
spring: jpa: hibernate: ddl-auto: update datasource: url: jdbc:mysql://localhost:3306/db_sptest?useSSL=false username: mysqluser password: mysqlpwd mvc: static-path-pattern: /static/** mybatis: type-aliases-package: hello.model3. 使用mybatis mapper
// model/AdminMapper @Mapper public interface AdminMapper { //使用注解方式 @Select("SELECT * FROM ADMIN WHERE name = #{name} LIMIT 1") Admin findByName(String name); @Select("SELECT * FROM ADMIN WHERE id = #{id}") Admin findById(Integer id); //動態(tài)sql @SelectProvider(type = AdminService.class,method = "selectAdminLike") List4.編寫動態(tài)sql語句findBySearch(Admin admin); //動態(tài)sql 返回行數(shù) @SelectProvider(type = AdminService.class,method = "countAdminSearch") @ResultType(Integer.class) int countBySearch(Admin admin); }
// service/AdminService import org.apache.ibatis.jdbc.SQL; public class AdminService { // With conditionals (note the final parameters, required for the anonymous inner class to access them) public String selectAdminLike(Admin admin) { return new SQL() {{ SELECT("A.name,A.email,A.id"); FROM("ADMIN A"); if (admin.getName() != null) { WHERE("A.name = "" + admin.getName() + """); } if (admin.getEmail() != null) { WHERE("A.email = " + admin.getEmail()); } }}.toString(); } public String countAdminSearch(Admin admin){ return new SQL() {{ SELECT("count(*)"); FROM("ADMIN A"); if (admin.getName() != null) { WHERE("A.name = "" + admin.getName() + """); } if (admin.getEmail() != null) { WHERE("A.email = " + admin.getEmail()); } }}.toString(); } }5.使用mybatis查詢方法
// AdminController @GetMapping(path = "get_list") @ResponseBody public DataResponse課程成果getAdminList( Admin adminReq, @RequestParam(defaultValue = "1", value = "page") String page, @RequestParam(defaultValue = "10", value = "rows") String rows) { String total; //頁數(shù) List admin_list; int records; records = adminMapper.countBySearch(adminReq); int pageSize = Integer.valueOf(rows); total = Integer.toString((records + pageSize - 1) / pageSize); DataResponse response = new DataResponse<>(); admin_list = adminMapper.findBySearch(adminReq); response.setTotal(total); response.setRows(admin_list); response.setPage(page); response.setRecords(records); return response; }
完成使用jqgrid+spring boot+mybatis 的數(shù)據(jù)列表搜索
遺留page 和 pageSize 的傳參控制,下節(jié)課對代碼進(jìn)行稍微的改動就可以支持
目前使用了jpa的Hibernate entity 這么用合理么?
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/74087.html
摘要:這里使用的是數(shù)據(jù)庫啟動類上加上注解在啟動類中添加對包掃描掃描多個包下的可以有以下幾種方法掃描會自動加載相關(guān)配置,數(shù)據(jù)源就會自動注入到中,會自動注入到中,可以直接使用。有配置文件下的使用掃描多個包下的可以有以下幾種方法掃描 Spring-Boot 學(xué)習(xí)筆記 1 Spring-Boot 介紹 1.1 什么是Spring-Boot Spring-Boot是由Pivotal團(tuán)隊(duì)提供的全新框架...
摘要:一直想搞一套后臺基本開發(fā)框架出來,無奈太忙其實(shí)太懶,最近受到兩位大佬的啟發(fā),就改動了一下大佬做好的東西。更新簡單整合使用項(xiàng)目目錄修復(fù)修改模板文件的包名問題,之后只在包里文件中的與即可地址 一直想搞一套后臺基本開發(fā)框架出來,無奈太忙(其實(shí)太懶),最近受到兩位大佬的啟發(fā),就改動了一下大佬做好的東西。初始版本:https://github.com/lihengming... showImg(...
摘要:最近自己搭建一個的項(xiàng)目聽說最近很是流行之前在一件公司用的覺得挺不錯所以自己配置一下學(xué)習(xí)學(xué)習(xí)結(jié)果做到分頁的時候看到了貌似是個很牛的插件所以用來學(xué)習(xí)一下結(jié)果兩天都沒怎么弄明白網(wǎng)上查了好多資料但好像沒有看到代碼很全的讓我這個小白徹底看懂的自己愚 最近自己搭建一個spring-boot 的項(xiàng)目聽說最近很是流行,之前在一件公司用的覺得挺不錯.所以自己配置一下學(xué)習(xí)學(xué)習(xí).結(jié)果做到分頁的時候看到了pa...
閱讀 2446·2021-11-22 13:53
閱讀 1136·2021-09-22 16:06
閱讀 1381·2021-09-02 15:21
閱讀 1913·2019-08-30 15:55
閱讀 3130·2019-08-29 11:19
閱讀 1928·2019-08-26 13:23
閱讀 948·2019-08-23 18:23
閱讀 1765·2019-08-23 16:06