日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

mybatis第一讲:初探mybatis实现简单的查询

發布時間:2025/4/5 编程问答 12 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mybatis第一讲:初探mybatis实现简单的查询 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、知識要點

  • 什么是MyBatis?
    (1)MyBatis是支持普通SQL查詢,存儲過程和高級映射的優秀持久層框架。MyBatis消除了幾乎所有的 JDBC代碼和參數的手工設置以及結果集的檢索。MyBatis使用簡單的XML或注解用于配置和原始映射, 將接口和Java的POJOs(Plan Old Java Objects,普通的Java對象)映射成數據庫中的記錄。
  • ORM工具的基本思想
    (1)無論是Hibernate還是MyBatis,你會發現它們的共同點:
  • 從配置文件(通常是XML配置文件)得到SQL會話工廠對象。
    由SQL會話工廠對象產生SQL會話對象。
    利用SQL會話對象完成對數據的增刪改查和事務提交等。
    在用完之后關閉SQL會話對象。
    在Java對象和數據庫之間有做映射的XML配置文件
    3. 項目3

    二、實例項目步驟

    創建項目



    在pom文件里添加相關的文件


    附上相關的代碼:<?xml version="1.0" encoding="UTF-8"?>

    4.0.0

    <groupId>net.hw.mybatis</groupId> <artifactId>MyBatisDemo</artifactId> <version>1.0-SNAPSHOT</version><dependencies><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.6</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.40</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13.2</version></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency> </dependencies>

    點擊刷新按鈕

    查看下載到本地的jar包


    打開Maven Repository網


    在搜索框里輸入待查的jar包名



    將紅框里的依賴元素復制到pom文件里的元素里

    創建與用戶表對應的用戶實體類 - User



    代碼附上:

    public class User {
    private int id;
    private String name;
    private int age;
    private String address;

    public int getId() {return id; }public void setId(int id) {this.id = id; }public String getName() {return name; }public void setName(String name) {this.name = name; }public int getAge() {return age; }public void setAge(int age) {this.age = age; }public String getAddress() {return address; }public void setAddress(String address) {this.address = address; }@Override public String toString() {return "User{" +"id=" + id +", name='" + name + '\'' +", age=" + age +", address='" + address + '\'' +'}'; }

    }

    創建用戶實體關系映射配置文件

    在resources目錄里創建mapper子目錄,然后在里面創建實體關系映射配置文件 - UserMapper.xml

    創建MyBatis配置文件

    在resources目錄里創建mybatis-config.xml


    到這一步我們的mybatis-config.xml文件就鍵好了


    附上代碼:

    <?xml version="1.0" encoding="UTF-8" ?> <!--配置數據庫環境--> <environments default="development"><environment id="development"><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="driver" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/testdb?useSSL=false"/><property name="username" value="root"/><property name="password" value="p@ssw0rd"/></dataSource></environment> </environments><!--配置實體關系映射器文件--> <mappers><mapper resource="mapper/UserMapper.xml"/> </mappers>

    簡要說明
    mybatis-config.xml 是 MyBatis 用來建立 sessionFactory 用的,里面主要包含了數據庫連接相關內容,還有 Java 類所對應的別名,比如,這個別名非常重要,在具體類的映射中,比如UserMapper.xml 中 resultType 就是對應這里的User。要保持一致。
    mybatis-config.xml 里面 的是包含要映射的類的實體關系映射配置文件。
    在UserMapper.xml 文件里面主要是定義各種SQL 語句,以及這些語句的參數,以及要返回的類型等。

    創建日志屬性文件

    在resources目錄里創建log4j.properties文件

    創建測試類測試用戶操作

    1、創建測試類 - TestUserOperation
    在test/java目錄里創建net.hw.mybatis.bean包,然后在包里創建測試類 - TestUserOperation

    運行測試方法 - testFindById()


    修改testFindById()代碼,再運行查看結果

    運行測試方法 - testFindAll()

    采用接口方式使用MyBatis

    前面,我們采用SqlSession實例來直接執行已映射的SQL語句:sqlSession.selectOne( “net.lbd.mybatis.mapper.UserMapper.findById”, id); 其實還有更好更簡潔的方式,使用合理描述參數和SQL語句返回值的接口(比如UserMapper.class),這樣代碼更簡單,不容易發生字符串文字和轉換的錯誤。

    創建用戶映射器接口

    創建net.hw.mybatis.mapper包,然后在包里創建用戶映射器接口 - UserMapper


    意思就是圈出來的語句的作用是相同的,知識從圖中也可以看出,第一個方法是要簡單許多,所以我們平時用的時候應該是經常用到第一種方法

    注意:UserMapper接口的完整路路徑(包名+接口名)必須是\元素的namespace屬性值 net.hw.mybatis.mapper.UserMapper,并且里面定義的方法名必須與UserMapper.xml里定義的SQL語句的id值保持一致,比如 findById、findAll。

    創建測試類測試用戶映射器接口

    1、創建測試類 - TestUserMapper
    在test/java里創建net.hw.mybatis.mapper包,然后在包里創建測試類 - TestUserMapper

    附上代碼:
    package net.lbd.mybatis.mapper;

    import net.lbd.mybatis.bean.User;
    import org.apache.ibatis.io.Resources;
    import org.apache.ibatis.session.SqlSession;
    import org.apache.ibatis.session.SqlSessionFactory;
    import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    import org.junit.After;
    import org.junit.Before;
    import org.junit.Test;

    import java.io.IOException;
    import java.io.Reader;
    import java.util.List;

    /**

    • 功能:測試用戶映射器接口

    • 作者:李補都

    • 日期:2021年03月06日
      */
      public class TestUserMapper {

      private SqlSession sqlSession; // SQL會話
      private UserMapper userMapper; // 用戶映射器

      @Before
      public void init() {
      try {
      // 讀取MyBatis配置文件作為字符輸入流
      Reader reader = Resources.getResourceAsReader(“mybatis-config.xml”);
      // 基于MyBatis配置文件構建SQL會話工廠
      SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);
      // 利用SQL會話工廠獲取SQL會話
      sqlSession = factory.openSession();
      // 利用SQL會話獲取用戶映射器對象
      userMapper = sqlSession.getMapper(UserMapper.class);
      // 提示用戶SQL會話對象創建成功
      System.out.println(“sqlSession對象已創建?!?;
      } catch (IOException e) {
      e.printStackTrace();
      }
      }

      @Test
      public void testFindById() {
      int id = 1;
      User user = userMapper.findById(id);
      if (user != null) {
      System.out.println(user);
      } else {
      System.out.println(“編號為[” + id + “]的用戶未找到?!?;
      }
      }

      @Test
      public void testFindAll() {
      List users = userMapper.findAll();
      users.forEach(user -> System.out.println(user));
      }

      @After
      public void destroy() {
      // 關閉SQL會話
      sqlSession.close();
      // 提示用戶SQL會話對象關閉
      System.out.println(“sqlSession對象已關閉?!?;
      }
      }

    運行測試方法 - testFindById()

    運行測試方法 - testFindAll()

    整體運行

    三、遇到的問題

    遇到的問題很多,但是都比較小,都是一些版本小,或者是MySQL的秘密沒有對,粗細導致的單詞打錯,我覺得比較大的問題呢是,對此門課程還不是很熟悉,所以操作起來的時候難免發一些非常低級的錯誤,希望能越來越熟悉!

    四、學習心得

    要認真上課,下來花時間認真操作,多練習!

    總結

    以上是生活随笔為你收集整理的mybatis第一讲:初探mybatis实现简单的查询的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。