1. <s id="4jtld"></s>
    1. <span id="4jtld"><meter id="4jtld"></meter></span>

        <span id="4jtld"></span>
      1. <s id="4jtld"><noscript id="4jtld"><i id="4jtld"></i></noscript></s>
        溫馨提示×

        好程序員Java學習路線分享MyBatis之基本使用

        發布時間:2020-09-30 16:34:23 來源:網絡 閱讀:138 作者:wx5d42865f47214 欄目:編程語言

          好程序員Java學習路線分享MyBatis之基本使用,前言,本章我們將開始學習一個非常優秀的ORM(對象關系映射)框架:MyBatis,它是目前企業中使用最多的數據庫框架。

        MyBatis簡介
           MyBatis 是一款優秀的持久層框架,它支持定制化 SQL、存儲過程以及高級映射。MyBatis 避免了幾乎所有的 JDBC 代碼和手動設置參數以及獲取結果集。MyBatis 可以使用簡單的 XML 或注解來配置和映射原生類型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 對象)為數據庫中的記錄。
          MyBatis的優點有:
          1)代替JDBC完成CRUD,效率高
          2)上手容易,配置靈活
          3)是目前公司主流的ORM(對象關系映射)框架

        MyBatis的基本配置
          這里我們使用Maven構建項目,
          首先需要導入MyBatis和MySQL驅動的依賴
          然后再添加配置文件,MyBatis的配置文件分為兩種:
          1、MyBatis框架的總體配置文件
          2、MyBatis數據庫映射文件
          
        MyBatis配置文件
          我們可以在項目的resources目錄中添加配置文件:mybatis-config.xml
        1.<?xml version="1.0" encoding="UTF-8"?>
        2.<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        3."http://mybatis.org/dtd/mybatis-3-config.dtd">
        4.<configuration>
        5.<!--environments 代表配置環境集合,此標簽中可以有多個environment,
        6.default屬性是選擇其中一個環境作為默認的配置環境-->
        7.<environments default="develop">
        8.<environment id="develop">
        9.<!--這里配置事務管理器為JDBC類型-->
        10.<transactionManager type="JDBC"/>
        11.<!--這里配置數據源,POOLED代表連接池類型的數據源-->
        12.<dataSource type="POOLED">
        13.<!--這里是常用的4個數據庫配置:驅動、URL、賬號、密碼-->
        14.<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
        15.<property name="url" value="jdbc:mysql://localhost/java1903?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF-8"/>
        16.<property name="username" value="root"/>
        17.<property name="password" value="123456"/>
        18.</dataSource>
        19.</environment>
        20.</environments>
        21.<!--這里是配置數據庫映射文件的路徑,如果有映射文件就配置到這里-->
        22.<mappers>
        23.<mapper resource="mappers/userMapper.xml"/>
        24.</mappers>
        25.</configuration>

        映射文件
          MyBatis能實現通過Java對象來操作數據庫,那么如何通過Java對象的操作來查詢和修改數據庫的表呢?MyBatis通過映射文件來配置數據的SQL操作,將Java對象的方法映射為具體的SQL語句。
          這里我們先編寫一個UserDAO接口
        26.package com.qianfeng.mybatis.dao;
        27.public interface UserDAO
        28.{
        29.List<User> selectAll();
        30.void insert(User user);
        31.}
          接下來我們來配置映射文件實現User表的查詢和插入操作:
          
          在resources下創建mappers目錄,然后創建映射文件:userMapper.xml
        32.<?xml version="1.0" encoding="UTF-8"?>
        33.<!DOCTYPE mapper
        34.PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        35."http://mybatis.org/dtd/mybatis-3-mapper.dtd">
        36.<!-- namespace配置對應的Java接口 -->
        37.<mapper namespace="com.qianfeng.mybatis.dao.UserDAO">
        38....
        39.</mapper>
          mapper中可以配置四種標簽:
          1)<insert> 配置insert語句
          2)<update> 配置update語句
          3)<delete> 配置delete語句
          4)<select> 配置select語句
          這四種標簽的常用屬性有:
        1)  id 對應DAO接口中的方法名
          2)parameterType 對應方法的參數類型
          3)returnType
           對應方法的返回值類型,如:User(表的字段名和類的屬性名一樣)
        4)  returnMap
        對應方法的返回值類型映射,用于表的字段名和類的屬性名不一樣的情況,實現字段名和屬性的映射關系
          
          這里是insert配置示例
        40.<insert id="insert" parameterType="com.qianfeng.mybatis.entity.User">
        41.insert into tb_user(u_name,u_password,u_realname,u_gender,u_age,u_img)
        42.values(#{name},#{password},#{realname},#{gender},#{age},#{img})
        43.</insert>
          其中#{...}中包含的是User對象的屬性名稱

          select配置示例
        44.<resultMap id="userMap" type="com.qianfeng.mybatis.entity.User">
        45.<id property="id" column="u_id"></id>
        46.<result property="name" column="u_name"></result>
        47.<result property="password" column="u_password"></result>
        48.<result property="realname" column="u_realname"></result>
        49.<result property="gender" column="u_gender"></result>
        50.<result property="age" column="u_age"></result>
        51.<result property="img" column="u_img"></result>
        52.</resultMap>
        53.<select id="selectAll" resultMap="userMap">
        54.select * from tb_user
        55.</select>
          returnMap配置的查詢語句返回的對象與數據庫表的映射,id是映射名,type是對應的Java類型
          其中子標簽id是配置表的主鍵,屬性id是Java類的屬性名,column是表的字段名,還有javaType和jdbcType屬性可以配置Java的類型和Jdbc數據類型,這兩個這里可以省略。
          result是配置除主鍵外的一般列

        MyBatis的使用方法
        主要步驟:
        56.1)讀取配置文件,創建SqlSessionFactory
        57.SqlSessionFactory factory =
        58.new SqlSessionFactoryBuilder().build(
        59.Resources.getResourceAsStream("mybatis-config.xml"));
        60.2)打開數據庫會話Session
        61.SqlSession sqlSession = factory.openSession();
        62.3)獲得DAO接口的代理對象
        63.UserDAO mapper = sqlSession.getMapper(UserDAO.class);
        64.4)執行CRUD
        65.mapper.insert(...);
        66.5) 提交事務
        67.sqlSession.commit();
        68.6) 關閉會話
        69.sqlSession.close();
        總結
          本章我們學習了MyBatis的基本配置,以及映射文件的寫法,也掌握了MyBatis的基本操作方法,MyBatis還有很多強大的特性,我們會在后面學習到。

        免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

        主題地圖

        欧美午夜理伦三级在线观看,欧美午夜乱伦片,欧美午夜乱色视频在线观看,欧美午夜免费一区二区,欧美午夜片欧美片在线观看