最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解SpringBoot 快速整合MyBatis(去XML化)

 更新時(shí)間:2017年10月09日 10:40:48   作者:yizhiwazi  
本篇文章主要介紹了詳解SpringBoot 快速整合MyBatis(去XML化),非常具有實(shí)用價(jià)值,需要的朋友可以參考下

序言:

此前,我們主要通過(guò)XML來(lái)書(shū)寫SQL和填補(bǔ)對(duì)象映射關(guān)系。在SpringBoot中我們可以通過(guò)注解來(lái)快速編寫SQL并實(shí)現(xiàn)數(shù)據(jù)訪問(wèn)。(僅需配置:mybatis.configuration.map-underscore-to-camel-case=true)。為了方便大家,本案例提供較完整的層次邏輯SpringBoot+MyBatis+Annotation。

具體步驟

1. 引入依賴

在pom.xml 引入ORM框架(Mybaits-Starter)和數(shù)據(jù)庫(kù)驅(qū)動(dòng)(MySQL-Conn)的依賴。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <!--繼承信息 -->
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.0.M4</version>
    <relativePath/>
  </parent>

  <!--依賴管理 -->
  <dependencies>
    <dependency> <!--添加Web依賴 -->
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency> <!--添加Mybatis依賴 -->
      <groupId>org.mybatis.spring.boot</groupId>
      <artifactId>mybatis-spring-boot-starter</artifactId>
      <version>1.3.1</version>
    </dependency>
    <dependency><!--添加MySQL驅(qū)動(dòng)依賴 -->
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <scope>runtime</scope>
    </dependency>
    <dependency><!--添加Test依賴 -->
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

2. 添加數(shù)據(jù)源

在application.yml 添加數(shù)據(jù)源,以及開(kāi)啟Mybaits的駝峰映射功能。

spring:
 datasource:
  url: jdbc:mysql://localhost:3306/socks?useSSL=false
  username: root
  password: root
  driver-class-name: com.mysql.jdbc.Driver

mybatis:
 configuration:
  map-underscore-to-camel-case: true #開(kāi)啟駝峰映射

3. 編寫數(shù)據(jù)層代碼

// POJO類如下:
public class User {
  private String userId;
  private String username;
  private String password;
  // Getters & Setters ..
}
// 數(shù)據(jù)層代碼如下:
public interface UserMapper {

  @Select("select * from t_user where 1=1")
  List<User> list();

  @Select("select * from t_user where username like #{username}")
  List<User> findByUsername(String username);

  @Select("select * from t_user where user_id like #{userId}")
  User getOne(String userId);

  @Delete("delete from t_user where user_id like #{userId}")
  int delete(String userId);
}

4. 添加數(shù)據(jù)庫(kù)記錄

在Navicat 連接本地?cái)?shù)據(jù)庫(kù),隨便打開(kāi)查詢窗口,復(fù)制下面這段腳本,點(diǎn)擊執(zhí)行即可。

DROP DATABASE IF EXISTS `socks`;
CREATE DATABASE `socks`;
USE `SOCKS`;
DROP TABLE IF EXISTS `t_user`;
CREATE TABLE `t_user` (
 `USER_ID` varchar(50) ,
 `USERNAME` varchar(50) ,
 `PASSWORD` varchar(50) 
) ;

INSERT INTO `t_user` VALUES ('1', 'admin', 'admin');
INSERT INTO `t_user` VALUES ('2', 'yizhiwazi', '123456');

5. 啟動(dòng)項(xiàng)目

@SpringBootApplication
@MapperScan("com.hehe.mapper") //掃描Mapper接口
public class MybatisApplication {

  public static void main(String[] args) {
    SpringApplication.run(MybatisApplication.class, args);
  }
}

6. 單元測(cè)試

import static org.assertj.core.api.Assertions.assertThat;

@RunWith(SpringRunner.class)
@SpringBootTest
public class MybatisApplicationTest {

  @SuppressWarnings("all")
  @Autowired
  UserMapper userMapper;

  @Test
  public void test_db() {
    //開(kāi)始進(jìn)行測(cè)試
    assertThat(userMapper.list().size()).isGreaterThan(1);
    assertThat(userMapper.getOne("1")).isNotEqualTo(null);
    assertThat(userMapper.getOne("xxx")).isEqualTo(null);
  }
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • RocketMQ根據(jù)Tag進(jìn)行消息過(guò)濾

    RocketMQ根據(jù)Tag進(jìn)行消息過(guò)濾

    消費(fèi)者訂閱了某個(gè)主題后,Apache RocketMQ 會(huì)將該主題中的所有消息投遞給消費(fèi)者。若消費(fèi)者只需要關(guān)注部分消息,可通過(guò)設(shè)置過(guò)濾條件在 Apache RocketMQ 服務(wù)端進(jìn)行過(guò)濾,只獲取到需要關(guān)注的消息子集,避免接收到大量無(wú)效的消息
    2023-02-02
  • Java類加載策略之雙親委派機(jī)制全面分析講解

    Java類加載策略之雙親委派機(jī)制全面分析講解

    這篇文章主要介紹了Java雙親委派機(jī)制,雙親委派模型是Java加載類的機(jī)制,采用雙親委派模型的好處是Java類隨著它的類加載器一起具備了一種帶有優(yōu)先級(jí)的層級(jí)關(guān)系,通過(guò)這種層級(jí)關(guān)系可以避免類的重復(fù)加載,感興趣的朋友可以參考下
    2023-12-12
  • springboot 在linux后臺(tái)運(yùn)行的方法

    springboot 在linux后臺(tái)運(yùn)行的方法

    這篇文章主要介紹了springboot 在linux后臺(tái)運(yùn)行的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-06-06
  • Java Agent 動(dòng)態(tài)修改字節(jié)碼詳情

    Java Agent 動(dòng)態(tài)修改字節(jié)碼詳情

    這篇文章主要介紹了Java Agent動(dòng)態(tài)修改字節(jié)碼的相關(guān)資料,需要的朋友可以參考下面文章具體的內(nèi)容
    2021-09-09
  • Java 在線考試云平臺(tái)的實(shí)現(xiàn)

    Java 在線考試云平臺(tái)的實(shí)現(xiàn)

    讀萬(wàn)卷書(shū)不如行萬(wàn)里路,只學(xué)書(shū)上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+vue+springboot+mysql+maven實(shí)現(xiàn)一個(gè)前端vue后臺(tái)java微服務(wù)的在線考試系統(tǒng),大家可以在過(guò)程中查缺補(bǔ)漏,提升水平
    2021-11-11
  • JAVAEE中用Session簡(jiǎn)單實(shí)現(xiàn)購(gòu)物車功能示例代碼

    JAVAEE中用Session簡(jiǎn)單實(shí)現(xiàn)購(gòu)物車功能示例代碼

    本篇文章主要介紹了JAVAEE中用Session簡(jiǎn)單實(shí)現(xiàn)購(gòu)物車功能示例代碼,非常具有實(shí)用價(jià)值,需要的朋友可以參考下。
    2017-03-03
  • 本真的REST架構(gòu)風(fēng)格理解

    本真的REST架構(gòu)風(fēng)格理解

    這篇文章主要為大家介紹了本真的REST架構(gòu)風(fēng)格的深入理解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-03-03
  • Java數(shù)據(jù)敏感詞轉(zhuǎn)換成符號(hào)的方法詳解

    Java數(shù)據(jù)敏感詞轉(zhuǎn)換成符號(hào)的方法詳解

    在某個(gè)論壇下用戶可以隨意留言,為了防止不法分子在網(wǎng)上任意沖浪,需要對(duì)一些敏感詞匯進(jìn)行一些校驗(yàn),所以這篇文章給大家介紹了Java數(shù)據(jù)敏感詞轉(zhuǎn)換成符號(hào)的方法,需要的朋友可以參考下
    2024-03-03
  • 如何將Java打開(kāi)CSV文件到JTable展示

    如何將Java打開(kāi)CSV文件到JTable展示

    本文主要介紹了如何將Java打開(kāi)CSV文件到JTable展示,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Spring與Mybatis的整合方法有哪些

    Spring與Mybatis的整合方法有哪些

    本文主要給大家介紹Spring與Mybatis的三種常用整合方法,需要用到的整合框架包mybatis-spring.jar,對(duì)spring mybatis整合感興趣的朋友可以參考下本文
    2015-10-10

最新評(píng)論

莱西市| 同仁县| 临沂市| 新昌县| 灵山县| 平泉县| 肇州县| 桐柏县| 吉木乃县| 广宁县| 无棣县| 灵武市| 富锦市| 溧阳市| 陈巴尔虎旗| 昌图县| 依安县| 高密市| 建瓯市| 宿州市| 灯塔市| 台中县| 阿鲁科尔沁旗| 周至县| 宜章县| 广水市| 丹寨县| 清涧县| 中牟县| 嘉禾县| 辽源市| 财经| 那坡县| 盈江县| 青阳县| 富蕴县| 汉阴县| 汉寿县| 广西| 青州市| 张掖市|