摘要:教程簡介本項(xiàng)目內(nèi)容為教程樣例。目的是通過學(xué)習(xí)本系列教程,讀者可以從到掌握的知識(shí),并且可以運(yùn)用到項(xiàng)目中。
教程簡介
本項(xiàng)目內(nèi)容為Spring Boot教程樣例。目的是通過學(xué)習(xí)本系列教程,讀者可以從0到1掌握spring boot的知識(shí),并且可以運(yùn)用到項(xiàng)目中。如您覺得該項(xiàng)目對(duì)您有用,歡迎點(diǎn)擊收藏和點(diǎn)贊按鈕,給予支持??!教程連載中,歡迎持續(xù)關(guān)注!
環(huán)境IDE: Eclipse Neon
Java: 1.8
Spring Boot: 1.5.12
數(shù)據(jù)庫:MYSQL
上一節(jié)介紹了Spring Boot JPA完成數(shù)據(jù)層訪問,本節(jié)將介紹另外一種持久層框架MyBatis,并且將Spring Boot整合MyBatis完成數(shù)據(jù)層訪問。
配置基于教程(一)的項(xiàng)目進(jìn)行操作,在pom.xml文件下面添加:
修改application.propertiesorg.mybatis.spring.boot mybatis-spring-boot-starter 1.3.2 mysql mysql-connector-java runtime
spring.datasource.url = jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8 spring.datasource.username = root spring.datasource.password = 123456 spring.datasource.driverClassName = com.mysql.jdbc.Driver創(chuàng)建數(shù)據(jù)庫表
在MYSQL中demo數(shù)據(jù)庫里面運(yùn)行一下SQL:
DROP TABLE IF EXISTS `t_user`; CREATE TABLE `t_user` ( `id` BIGINT(20) NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL, `pass` varchar(8) NOT NULL, PRIMARY KEY (`id`) )創(chuàng)建實(shí)體和數(shù)據(jù)訪問接口
創(chuàng)建包c(diǎn)om.example.demo.model,創(chuàng)建實(shí)體User
public class User implements Serializable{ private static final long serialVersionUID = -853504493430501564L; private Long id; private String name; private String pass; 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 getPass() { return pass; } public void setPass(String pass) { this.pass = pass; } }
創(chuàng)建包c(diǎn)om.example.demo.mapper, 創(chuàng)建User映射的Mapper:UserMapper
@Mapper public interface UserMapper { @Select("SELECT * FROM USER WHERE NAME = #{name}") User findByName(@Param("name") String name); @Insert("INSERT INTO USER(NAME, PASS) VALUES(#{name}, #{pass})") int save(@Param("name") String name, @Param("pass") String pass); }創(chuàng)建控制器
在com.example.demo.api下面創(chuàng)建User控制器UserController, 用于測(cè)試web訪問
@RestController public class UserController { @Autowired private UserMapper userMapper; @RequestMapping("/saveUser") public void save() { userMapper.save("ajay", "123456"); } @RequestMapping("/findByName") public User findByName(String name) { return userMapper.findByName(name); } }程序運(yùn)行和調(diào)試
在Application類中,啟動(dòng)程序。瀏覽器輸入http://localhost:8080/saveUser
http://localhost:8080/findByName?name=ajay
代碼:gitee.com/shaojiepeng/SpringBootCourse
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/69214.html
摘要:前提好幾周沒更新博客了,對(duì)不斷支持我博客的童鞋們說聲抱歉了。熟悉我的人都知道我寫博客的時(shí)間比較早,而且堅(jiān)持的時(shí)間也比較久,一直到現(xiàn)在也是一直保持著更新狀態(tài)。 showImg(https://segmentfault.com/img/remote/1460000014076586?w=1920&h=1080); 前提 好幾周沒更新博客了,對(duì)不斷支持我博客的童鞋們說聲:抱歉了!。自己這段時(shí)...
摘要:開公眾號(hào)差不多兩年了,有不少原創(chuàng)教程,當(dāng)原創(chuàng)越來越多時(shí),大家搜索起來就很不方便,因此做了一個(gè)索引幫助大家快速找到需要的文章系列處理登錄請(qǐng)求前后端分離一使用完美處理權(quán)限問題前后端分離二使用完美處理權(quán)限問題前后端分離三中密碼加鹽與中異常統(tǒng)一處理 開公眾號(hào)差不多兩年了,有不少原創(chuàng)教程,當(dāng)原創(chuàng)越來越多時(shí),大家搜索起來就很不方便,因此做了一個(gè)索引幫助大家快速找到需要的文章! Spring Boo...
摘要:說明目前互聯(lián)網(wǎng)公司,大部分項(xiàng)目都是基于分布式,一個(gè)項(xiàng)目被拆分成幾個(gè)小項(xiàng)目,這些小項(xiàng)目會(huì)分別部署在不同的計(jì)算機(jī)上面,這個(gè)叫做微服務(wù)。當(dāng)一臺(tái)計(jì)算機(jī)的程序需要調(diào)用另一臺(tái)計(jì)算機(jī)代碼的時(shí)候,就涉及遠(yuǎn)程調(diào)用。此時(shí)就粉末登場了。 showImg(https://s2.ax1x.com/2019/07/05/ZaELxe.jpg); 說明 目前互聯(lián)網(wǎng)公司,大部分項(xiàng)目都是基于分布式,一個(gè)項(xiàng)目被拆分成幾個(gè)...
摘要:更簡答的說就是要么全部執(zhí)行成功,要么撤銷不執(zhí)行。因此,數(shù)據(jù)庫操作的事務(wù)習(xí)慣上就稱為事務(wù)。實(shí)現(xiàn)原理單機(jī)事務(wù)事務(wù)是用對(duì)象控制的。接口提供了兩種事務(wù)模式自動(dòng)提交和手工提交。事務(wù)多機(jī)事務(wù),通過實(shí)現(xiàn),需要驅(qū)動(dòng)支持。局限于應(yīng)用使用。 Spring Boot - 數(shù)據(jù)庫配置 回顧 Spring Boot - 初識(shí) Hello World Spring Boot - Servlet、過濾器、監(jiān)聽器、...
閱讀 1310·2021-10-08 10:05
閱讀 4133·2021-09-22 15:54
閱讀 3114·2021-08-27 16:18
閱讀 3113·2019-08-30 15:55
閱讀 1448·2019-08-29 12:54
閱讀 2757·2019-08-26 11:42
閱讀 555·2019-08-26 11:39
閱讀 2139·2019-08-26 10:11