摘要:課程目標完成與與的的集成處理數據課程計劃使用完成博客后臺管理員列表的搜索課程分析想要完成列表的搜索,就必須對按提交搜索條件進行邏輯判斷組織也就是動態步驟加入依賴使用配置使用使用注解方式動態動
課程目標
完成與spring boot 與的mybatis的集成處理數據curd
課程計劃使用mybatis完成博客后臺管理員列表的jqgird搜索
課程分析想要完成列表的搜索,就必須對sql按提交搜索條件進行邏輯判斷組織sql,也就是動態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); //動態sql @SelectProvider(type = AdminService.class,method = "selectAdminLike") List4.編寫動態sql語句findBySearch(Admin admin); //動態sql 返回行數 @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; //頁數 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 的數據列表搜索
遺留page 和 pageSize 的傳參控制,下節課對代碼進行稍微的改動就可以支持
目前使用了jpa的Hibernate entity 這么用合理么?
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/74087.html
摘要:這里使用的是數據庫啟動類上加上注解在啟動類中添加對包掃描掃描多個包下的可以有以下幾種方法掃描會自動加載相關配置,數據源就會自動注入到中,會自動注入到中,可以直接使用。有配置文件下的使用掃描多個包下的可以有以下幾種方法掃描 Spring-Boot 學習筆記 1 Spring-Boot 介紹 1.1 什么是Spring-Boot Spring-Boot是由Pivotal團隊提供的全新框架...
摘要:一直想搞一套后臺基本開發框架出來,無奈太忙其實太懶,最近受到兩位大佬的啟發,就改動了一下大佬做好的東西。更新簡單整合使用項目目錄修復修改模板文件的包名問題,之后只在包里文件中的與即可地址 一直想搞一套后臺基本開發框架出來,無奈太忙(其實太懶),最近受到兩位大佬的啟發,就改動了一下大佬做好的東西。初始版本:https://github.com/lihengming... showImg(...
摘要:最近自己搭建一個的項目聽說最近很是流行之前在一件公司用的覺得挺不錯所以自己配置一下學習學習結果做到分頁的時候看到了貌似是個很牛的插件所以用來學習一下結果兩天都沒怎么弄明白網上查了好多資料但好像沒有看到代碼很全的讓我這個小白徹底看懂的自己愚 最近自己搭建一個spring-boot 的項目聽說最近很是流行,之前在一件公司用的覺得挺不錯.所以自己配置一下學習學習.結果做到分頁的時候看到了pa...
閱讀 2432·2021-11-22 13:53
閱讀 1126·2021-09-22 16:06
閱讀 1370·2021-09-02 15:21
閱讀 1895·2019-08-30 15:55
閱讀 3116·2019-08-29 11:19
閱讀 1911·2019-08-26 13:23
閱讀 931·2019-08-23 18:23
閱讀 1748·2019-08-23 16:06