自慰套教室~女子全员妊娠,精品无码国产自产拍在线观看蜜桃,亚洲国产精品成人精品无码区,久别的草原在线看视频免费

集團站切換校區

驗證碼已發送,請查收短信

復制成功
微信號:togogoi
添加微信好友, 詳細了解課程
已復制成功,如果自動跳轉微信失敗,請前往微信添加好友
打開微信
圖標

學習文章

當前位置:首頁 > >學習文章 > >

【Java技術培訓】SpringBoot整合MyBatis

發布時間: 2020-07-07 10:12:19

Java技術培訓】SpringBoot整合MyBatis?

一、 MyBatis簡介

MyBatis 是一款優秀的持久層框架,它支持定制化 SQL、存儲過程以及高級映射。MyBatis 避免了幾乎所有的 JDBC 代碼和手動設置參數以及獲取結果集。

MyBatis 可以使用簡單的 XML 或注解來配置和映射原生信息,將接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java對象)映射成數據庫中的記錄。


二、 MyBatis特點

1. 簡單易學 本身就很小且簡單。沒有任何第三方依賴,最簡單安裝只要兩個jar文件+配置幾個sql映射文件易于學習,易于使用,通過文檔和源代碼,可以比較完全的掌握它的設計思路和實現。

2. 靈活 mybatis不會對應用程序或者數據庫的現有設計強加任何影響。

sql寫在xml里,便于統一管理和優化。通過sql語句可以滿足操作數據庫的所有需求。

3. 解除sql與程序代碼的耦合:通過提供DAO層,將業務邏輯和數據訪問邏輯分離,使系統的設計更清晰,更易維護,更易單元測試。sql和代碼的分離,提高了可維護性。

4. 提供映射標簽,支持對象與數據庫的orm字段關系映射

5. 提供對象關系映射標簽,支持對象關系組建維護

6. 提供xml標簽,支持編寫動態sql。


三、 在SpringBoot項目中引入MyBatis依賴實現對數據庫的操作(這里采用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編寫配置文件

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. 在項目啟動入口上增加mapper接口掃描

@SpringBootApplication

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

public class MybatisxmlApplication {


   public static void main(String[] args) {

       SpringApplication.run(MybatisxmlApplication.class, args);

   }

}


4. 編寫與數據庫對應的實體類@Data

@AllArgsConstructor

@NoArgsConstructor

@ToString

public class TbUser {

   private Integer id;

   private String username;

   private String password;

   private String role;

}

5. 編寫mapper接口

public interface TbUserMapper {


   void saveUser(TbUser user);


   List<TbUser> findAll();

}

6. 編寫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. 編寫service層

public interface TbUserService {


   void saveUser(TbUser user);

   List<TbUser> findAll();

}

8. 編寫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. 編寫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;

   }

}

上一篇: 【人工智能】機器學習—超參數調優

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

十五年老品牌
微信咨詢:togogoi 咨詢電話:18922156670 咨詢網站客服:在線客服

相關課程推薦

在線咨詢 ×

您好,請問有什么可以幫您?我們將竭誠提供最優質服務!

<蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>