摘要:最近有項目需要使用語言開發數據接口,整體框架需要符合微服務架構,在網上查找了相關資料,最終選定了的架構,此文主要記錄在下的使用,一方面作為學習日記,另一方面也希望對正在學習的朋友們有一定幫助。最后,整個項目完成后目錄結構如下
項目創建最近有項目需要使用java語言開發數據接口,整體框架需要符合微服務架構,在網上查找了相關資料,最終選定了Springcloud+Springboot的架構,此文主要記錄Mybatis在Springboot下的使用,一方面作為學習日記,另一方面也希望對正在學習springboot的朋友們有一定幫助。
全文包含3部分內容:項目搭建
數據庫配置
數據操作層編寫
本文中使用的編輯器為Intellij Idea,創建流程也是基于Intellij,具體步驟如下:
在New Project面板中中選擇Spring Initializr,點擊Next按鈕,如下圖:
填寫項目的相關信息,Type一行根據使用習慣選擇Maven或者Gradle就好。
選擇項目的相關依賴,該文章中Web選項里選擇了Web,Sql選項里面勾選Mybatis及Mysql后按著向導完成項目創建,如下圖:
最終生成的項目目錄結構如下圖:
如下為項目的依賴配置文件代碼:
數據庫配置4.0.0 com.example demo 0.0.1-SNAPSHOT jar demo Demo project for Spring Boot org.springframework.boot spring-boot-starter-parent 1.5.4.RELEASE UTF-8 UTF-8 1.8 org.mybatis.spring.boot mybatis-spring-boot-starter 1.3.0 org.springframework.boot spring-boot-starter-web mysql mysql-connector-java runtime org.springframework.boot spring-boot-starter-test test org.springframework.boot spring-boot-maven-plugin
在Springboot中,數據庫的配置非常簡單,在resources文件夾下的application.propertites編寫相關配置即可,喜歡yml格式的也可以換成application.yml,具體如下:
mybatis.type-aliases-package=com.aryan.entity spring.datasource.driverClassName = com.mysql.jdbc.Driver spring.datasource.url = jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8 spring.datasource.username = root spring.datasource.password = demopc
需注意第一行配置,com.aryan.entity指定了后面的mybatis數據庫實體從哪個包進行查找。
數據庫操作層編寫 實體層編寫在main的src目錄下新建package,命名為entity,作為mybatis的數據庫實體層,與前面數據庫配置相對應。
創建Product實體,代碼如下:
package com.aryan.entity; import java.io.Serializable; /** * Created by Aryan on 2017/6/25. */ public class ProductEntity implements Serializable { private Long id; private String name; private String code; public ProductEntity() { super(); } public ProductEntity(Long id, String name, String code) { super(); this.id = id; this.name = name; this.code = code; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } @Override public String toString() { return "ProductEntity{" + "id=" + id + ", name="" + name + """ + ", code="" + code + """ + "}"; } }Dao層編寫
在main目錄的src文件夾下新建package,命名為mapper,該package作為項目的dao層映射,將sql語句與調用的方法關聯起來,整體使用起來比較靈活。
在mapper包下新建ProductMapper接口,編寫相關數據庫操作方法,具體代碼如下:
package com.aryan.mapper; import com.aryan.entity.ProductEntity; import org.apache.ibatis.annotations.Insert; import org.apache.ibatis.annotations.Select; import java.util.List; /** * Created by Aryan on 2017/6/25. */ public interface ProductMapper { @Select("SELECT * FROM products") List控制器編寫getAll(); @Select("SELECT * FROM Products WHERE id = #{id}") ProductEntity getOne(Long id); @Insert("INSERT INTO products(name,code) VALUES(#{name}, #{code})") void insert(ProductEntity product); }
在main目錄src文件夾下新建package,命名為controller,該package作為MVC中的控制器,主要編寫了產品添加及查詢的路由,具體代碼如下:
package com.aryan.controller; import com.aryan.entity.ProductEntity; import com.aryan.mapper.ProductMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; /** * Created by Aryan on 2017/6/25. */ @RestController public class ProductController { @Autowired private ProductMapper productMapper; @RequestMapping(value = "/products") public List運行項目getAll() { return productMapper.getAll(); } @RequestMapping(value = "/product/{id}") public ProductEntity getOne(@PathVariable Long id) { return productMapper.getOne(id); } @RequestMapping(value = "/product/add", method = RequestMethod.POST) public void insert(@RequestBody ProductEntity product) { productMapper.insert(product); } }
運行項目前首先需要在Application入口文件中加上dao層配置,添加@MapperScan("com.aryan.mapper")注解,代碼如下:
package com.aryan; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @MapperScan("com.aryan.mapper") public class SpringBootMybatisApplication { public static void main(String[] args) { SpringApplication.run(SpringBootMybatisApplication.class, args); } }
直接運行該項目, 運行成功后,在進行api訪問時別忘記先把數據庫表生成好, 然后訪問http://localhost:8080/products 查看數據庫數據,通過Postman或者Fiddler采用Post訪問http://localhost:8080/product... 并傳遞產品數據,成功后可以查看表數據確認接口是否運行正常。
最后,整個項目完成后目錄結構如下:
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/67237.html
摘要:配置想想,我們需要哪些數據庫要用到,數據庫連接池要用到橋接器要用到,因此要倉庫點我去倉庫中找到搜索這些加進去。 本文旨在用最通俗的語言講述最枯燥的基本知識 最近身邊的程序員掀起了學習springboot的熱潮,說什么學會了springboot在大街上就可以橫著走、什么有了springboot媽媽再也不擔心我的編程了、什么BAT都喜歡的框架...聽得作者那個心癢癢的,于是找了個時間,下載...
摘要:當禁用時,所有關聯對象都會即時加載。不同的驅動在這方便表現不同。參考驅動文檔或充分測試兩種方法來決定所使用的驅動。需要適合的驅動。系統默認值是設置字段和類是否支持駝峰命名的屬性。 ??上篇文章我們介紹了SpringBoot和MyBatis的整合,可以說非常簡單快捷的就搭建了一個web項目,但是在一個真正的企業級項目中,可能我們還需要更多的更加完善的框架才能開始真正的開發,比如連接池、分...
摘要:下面基于,帶著大家看一下中如何配置多數據源。注意版本不一致導致的一些小問題。配置配置兩個數據源數據庫和數據庫注意事項在配置數據源的過程中主要是寫成和。五啟動類此注解表示啟動類這樣基于的多數據源配置就已經完成了,兩個數據庫都可以被訪問了。 在上一篇文章《優雅整合 SpringBoot+Mybatis ,可能是你見過最詳細的一篇》中,帶著大家整合了 SpringBoot 和 Mybatis...
摘要:準備階段以上一篇文章的代碼為例子,即整合,上一篇文章是基于注解來實現的數據訪問層,這篇文章基于的來實現,并開啟聲明式事務。創建實體類數據訪問層接口層用戶減塊用戶加塊,聲明事務,并設計一個轉賬方法,用戶減塊,用戶加塊。 springboot開啟事務很簡單,只需要一個注解@Transactional 就可以了。因為在springboot中已經默認對jpa、jdbc、mybatis開啟了事事...
閱讀 3032·2020-01-08 12:17
閱讀 2000·2019-08-30 15:54
閱讀 1159·2019-08-30 15:52
閱讀 2043·2019-08-29 17:18
閱讀 1054·2019-08-29 15:34
閱讀 2468·2019-08-27 10:58
閱讀 1870·2019-08-26 12:24
閱讀 381·2019-08-23 18:23