摘要:的使用是一款優(yōu)秀的持久層框架,它支持定制化存儲(chǔ)過(guò)程以及高級(jí)映射。插入數(shù)據(jù)庫(kù)使用,直接傳入實(shí)體類會(huì)自動(dòng)解析屬性到對(duì)應(yīng)的值負(fù)責(zé)修改,也可以直接傳入對(duì)象負(fù)責(zé)刪除第五,使用就可以了。
Mybatis的使用
MyBatis 是一款優(yōu)秀的持久層框架,它支持定制化 SQL、存儲(chǔ)過(guò)程以及高級(jí)映射。MyBatis 避免了幾乎所有的 JDBC 代碼和手動(dòng)設(shè)置參數(shù)以及獲取結(jié)果集。MyBatis 可以使用簡(jiǎn)單的 XML 或注解來(lái)配置和映射原生信息,將接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java對(duì)象)映射成數(shù)據(jù)庫(kù)中的記錄。
怎么在Spring Boot里面使用Mybatis呢?就繼續(xù)看吧。
第一,在pom.xml里面導(dǎo)入配置文件。第二,添加相關(guān)配置 application.yml。org.mybatis.spring.boot mybatis-spring-boot-starter 1.1.1 mysql mysql-connector-java
#配置數(shù)據(jù)源 spring: datasource: #這里可以不寫,會(huì)根據(jù)url自動(dòng)判斷,如果mybatis里面配置了version那么這里寫了就會(huì)報(bào)錯(cuò)。 driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/springboot username: root password: password #這是在控制臺(tái)打印mybatis的sql語(yǔ)句 logging: level: com: springboot: mybatis: mepper: debug #這是mapper放置的地址。 #開啟駝峰命名法,這樣后面的開發(fā)Mapper就可以省掉@Results的注解,當(dāng)然,不是駝峰命名法的還是不能省略。 mybatis: configuration: map-underscore-to-camel-case: true第三,在啟動(dòng)類中添加對(duì)mapper包掃描@MapperScan。
@SpringBootApplication @MapperScan("com.springboot.mybatis.mapper") //mapper文件的存放地址 public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }第四,開發(fā)Mapper就可以了。
public interface GirlMapper { //這里沒有使用@Results注解,是因?yàn)榍懊嬖赼pplication.yml已經(jīng)進(jìn)行相關(guān)配置了。 @Select("select * from girl") @Results({ @Result(column="cup_size", property="cupSize", jdbcType=JdbcType.VARCHAR) }) ListfindAll(); @Select("select * from girl where id = #{id}") Girl findOne(Integer id); }
@Select 是查詢類的注解,所有的查詢均使用這個(gè)
@Result修飾返回的結(jié)果集,關(guān)聯(lián)實(shí)體類屬性和數(shù)據(jù)庫(kù)字段一一對(duì)應(yīng),如果實(shí)體類屬性和數(shù)據(jù)庫(kù)屬性名保持一致,就不需要這個(gè)屬性來(lái)修飾。
@Insert插入數(shù)據(jù)庫(kù)使用,直接傳入實(shí)體類會(huì)自動(dòng)解析屬性到對(duì)應(yīng)的值
@Update 負(fù)責(zé)修改,也可以直接傳入對(duì)象
@delete 負(fù)責(zé)刪除
第五,使用就可以了。
//如果想使用@RestController和@RequestMapping就必須在pom.xml里面導(dǎo)入WEB支持(spring-boot-starter-web) @RestController public class GirlController { //注入GirlMapper @Autowired GirlMapper girlMapper; @RequestMapping("/girls") public ListfindAll(){ return girlMapper.findAll(); } @RequestMapping("/girl/{id}") public Girl findOne(@PathVariable("id") Integer id){ return girlMapper.findOne(id); } }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/71754.html
摘要:前提好幾周沒更新博客了,對(duì)不斷支持我博客的童鞋們說(shuō)聲抱歉了。熟悉我的人都知道我寫博客的時(shí)間比較早,而且堅(jiān)持的時(shí)間也比較久,一直到現(xiàn)在也是一直保持著更新狀態(tài)。 showImg(https://segmentfault.com/img/remote/1460000014076586?w=1920&h=1080); 前提 好幾周沒更新博客了,對(duì)不斷支持我博客的童鞋們說(shuō)聲:抱歉了!。自己這段時(shí)...
摘要:開公眾號(hào)差不多兩年了,有不少原創(chuàng)教程,當(dāng)原創(chuàng)越來(lái)越多時(shí),大家搜索起來(lái)就很不方便,因此做了一個(gè)索引幫助大家快速找到需要的文章系列處理登錄請(qǐng)求前后端分離一使用完美處理權(quán)限問題前后端分離二使用完美處理權(quán)限問題前后端分離三中密碼加鹽與中異常統(tǒng)一處理 開公眾號(hào)差不多兩年了,有不少原創(chuàng)教程,當(dāng)原創(chuàng)越來(lái)越多時(shí),大家搜索起來(lái)就很不方便,因此做了一個(gè)索引幫助大家快速找到需要的文章! Spring Boo...
閱讀 3307·2021-09-02 15:41
閱讀 2840·2021-09-02 09:48
閱讀 1381·2019-08-29 13:27
閱讀 1169·2019-08-26 13:37
閱讀 844·2019-08-26 11:56
閱讀 2490·2019-08-26 10:24
閱讀 1651·2019-08-23 18:07
閱讀 2625·2019-08-23 15:16