宝贝腿开大点我添添你视频男男,中文字幕熟女人妻av一区二区三区,爱色成人网,大地资源高清播放在线观看在线电影在线观看 ,777米奇影视第四色

集團(tuán)站切換校區(qū)

驗(yàn)證碼已發(fā)送,請(qǐng)查收短信

復(fù)制成功
微信號(hào):togogoi
添加微信好友, 詳細(xì)了解課程
已復(fù)制成功,如果自動(dòng)跳轉(zhuǎn)微信失敗,請(qǐng)前往微信添加好友
打開(kāi)微信
圖標(biāo)

學(xué)習(xí)文章

當(dāng)前位置:首頁(yè) > >學(xué)習(xí)文章 > >

【Java技術(shù)培訓(xùn)】SpringBoot整合MyBatis

發(fā)布時(shí)間: 2020-07-07 10:12:19

Java技術(shù)培訓(xùn)】SpringBoot整合MyBatis?

一、 MyBatis簡(jiǎn)介

MyBatis 是一款優(yōu)秀的持久層框架,它支持定制化 SQL、存儲(chǔ)過(guò)程以及高級(jí)映射。MyBatis 避免了幾乎所有的 JDBC 代碼和手動(dòng)設(shè)置參數(shù)以及獲取結(jié)果集。

MyBatis 可以使用簡(jiǎn)單的 XML 或注解來(lái)配置和映射原生信息,將接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java對(duì)象)映射成數(shù)據(jù)庫(kù)中的記錄。


二、 MyBatis特點(diǎn)

1. 簡(jiǎn)單易學(xué) 本身就很小且簡(jiǎn)單。沒(méi)有任何第三方依賴,最簡(jiǎn)單安裝只要兩個(gè)jar文件+配置幾個(gè)sql映射文件易于學(xué)習(xí),易于使用,通過(guò)文檔和源代碼,可以比較完全的掌握它的設(shè)計(jì)思路和實(shí)現(xiàn)。

2. 靈活 mybatis不會(huì)對(duì)應(yīng)用程序或者數(shù)據(jù)庫(kù)的現(xiàn)有設(shè)計(jì)強(qiáng)加任何影響。

sql寫(xiě)在xml里,便于統(tǒng)一管理和優(yōu)化。通過(guò)sql語(yǔ)句可以滿足操作數(shù)據(jù)庫(kù)的所有需求。

3. 解除sql與程序代碼的耦合:通過(guò)提供DAO層,將業(yè)務(wù)邏輯和數(shù)據(jù)訪問(wèn)邏輯分離,使系統(tǒng)的設(shè)計(jì)更清晰,更易維護(hù),更易單元測(cè)試。sql和代碼的分離,提高了可維護(hù)性。

4. 提供映射標(biāo)簽,支持對(duì)象與數(shù)據(jù)庫(kù)的orm字段關(guān)系映射

5. 提供對(duì)象關(guān)系映射標(biāo)簽,支持對(duì)象關(guān)系組建維護(hù)

6. 提供xml標(biāo)簽,支持編寫(xiě)動(dòng)態(tài)sql。


三、 在SpringBoot項(xiàng)目中引入MyBatis依賴實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的操作(這里采用xml)

1. 引入必須的依賴包<dependency>

           <groupId>org.springframework.boot</groupId>

           <artifactId>spring-boot-starter-web</artifactId>

       </dependency>

       <dependency>

           <groupId>org.mybatis.spring.boot</groupId>

           <artifactId>mybatis-spring-boot-starter</artifactId>

       </dependency>

       <!--阿里巴巴druid-->

       <dependency>

           <groupId>com.alibaba</groupId>

           <artifactId>druid</artifactId>

           <version>1.1.22</version>

       </dependency>

       <dependency>

           <groupId>mysql</groupId>

           <artifactId>mysql-connector-java</artifactId>

           <scope>runtime</scope>

       </dependency>

       <dependency>

           <groupId>org.projectlombok</groupId>

           <artifactId>lombok</artifactId>

           <optional>true</optional>

       </dependency>


2. 修改application.yml編寫(xiě)配置文件

server:

 port: 9006


spring:

 datasource:

   url: jdbc:mysql://localhost:3306/springboot1701?serverTimezone=UTC

   driver-class-name: com.mysql.cj.jdbc.Driver

   username: root

   password: 123456aB_

   type: com.alibaba.druid.pool.DruidDataSource


# 配置mybatis

mybatis:

 mapper-locations: classpath:/mappers/*.xml    # 掃描mybatis映射文件


3. 在項(xiàng)目啟動(dòng)入口上增加mapper接口掃描

@SpringBootApplication

@MapperScan("net.togogo.mybatisxml.mapper")

public class MybatisxmlApplication {


   public static void main(String[] args) {

       SpringApplication.run(MybatisxmlApplication.class, args);

   }

}


4. 編寫(xiě)與數(shù)據(jù)庫(kù)對(duì)應(yīng)的實(shí)體類@Data

@AllArgsConstructor

@NoArgsConstructor

@ToString

public class TbUser {

   private Integer id;

   private String username;

   private String password;

   private String role;

}

5. 編寫(xiě)mapper接口

public interface TbUserMapper {


   void saveUser(TbUser user);


   List<TbUser> findAll();

}

6. 編寫(xiě)mapper映射文件

 TbUserMapper.xml<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"

       "http://mybatis.org/dtd/mybatis-3-mapper.dtd">


<mapper namespace="net.togogo.mybatisxml.mapper.TbUserMapper">


   <insert id="saveUser" parameterType="net.togogo.mybatisxml.bean.TbUser">

       insert into tb_user(username,password,role)values (#{username},#{password},#{role})

   </insert>


   <select id="findAll" resultType="net.togogo.mybatisxml.bean.TbUser">

       select * from tb_user

   </select>


</mapper>

7. 編寫(xiě)service層

public interface TbUserService {


   void saveUser(TbUser user);

   List<TbUser> findAll();

}

8. 編寫(xiě)serviceImpl@Service

@Transactional

public class TbUserServiceImpl implements TbUserService {


   @Resource

   TbUserMapper userMapper;


   @Override

   public void saveUser(TbUser user) {

       userMapper.saveUser(user);

   }


   @Override

   public List<TbUser> findAll() {

       return userMapper.findAll();

   }

}

9. 編寫(xiě)controller

@RestController

@RequestMapping("/user")

public class TbUserController {


   @Resource

   TbUserService userService;


   @PostMapping("/save")

   public void saveUser(TbUser user){

       userService.saveUser(user);

   }


   @GetMapping("/users")

   public List<TbUser> findAll(){

       List<TbUser> users = userService.findAll();

       users.forEach(System.out::println);

       return users;

   }

}

上一篇: 【人工智能】機(jī)器學(xué)習(xí)—超參數(shù)調(diào)優(yōu)

下一篇: oracle表空間了解一下

十九年老品牌
微信咨詢:gz_togogo 咨詢電話:18127429208 咨詢網(wǎng)站客服:在線客服

相關(guān)課程推薦

在線咨詢 ×

您好,請(qǐng)問(wèn)有什么可以幫您?我們將竭誠(chéng)提供最優(yōu)質(zhì)服務(wù)!