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

MyBatis全局映射文件實現(xiàn)原理解析

 更新時間:2020年08月27日 11:53:54   作者:IT-執(zhí)念  
這篇文章主要介紹了MyBatis全局映射文件實現(xiàn)原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

全局配置文件為mybatis-config.xml

1、properties標簽

<properties resource="dbconfig.properties"></properties>

可以使用properties來引入外部properties配置文件的內(nèi)容

引入方式有兩種:

 ?、賠esource:引入類路徑下的資源

 ?、趗rl:引入網(wǎng)絡路徑或者磁盤路徑下的資源

2、settings標簽  

<settings>
    <setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>

settings包含很多重要的設置項

setting:用來設置每一個設置項 name:設置項名 value:設置項取值

具體參見:http://www.mybatis.org/mybatis-3/zh/configuration.html#settings

3、typeAliases

<typeAliases>
   <typeAlias type="com.atguigu.mybatis.bean.Employee" alias="emp"/> 
   <package name="com.atguigu.mybatis.bean"/>
</typeAliases>

typeAliases別名處理器:可以為我們的java類型起別名,別名不區(qū)分大小寫。

①typeAlias:為某個java類型起別名

      type:指定要起別名的類型全類名;默認別名就是類名小寫;

      alias:指定新的別名

②package:為某個包下的所有類批量起別名

      name:指定包名(為當前包及下面所有的后代包的每一個類都起一個默認的別名(類名小寫))

      批量起別名的情況下,可以使用@Alias注解為某個類型指定新的別名。

4、environments標簽

<environments default="dev_mysql">
    <environment id="dev_mysql">
      <transactionManager type="JDBC"></transactionManager>
      <dataSource type="POOLED">
        <property name="driver" value="${jdbc.driver}" />
        <property name="url" value="${jdbc.url}" />
        <property name="username" value="${jdbc.username}" />
        <property name="password" value="${jdbc.password}" />
      </dataSource>
    </environment>
  
    <environment id="dev_oracle">
      <transactionManager type="JDBC" />
      <dataSource type="POOLED">
        <property name="driver" value="${orcl.driver}" />
        <property name="url" value="${orcl.url}" />
        <property name="username" value="${orcl.username}" />
        <property name="password" value="${orcl.password}" />
      </dataSource>
    </environment>
  </environments>

  myBatis可以配置多種環(huán)境,default指定使用某種環(huán)境,可以達到快速切換環(huán)境?! ?/p>

 ?、賓nvironment:配置一個具體的環(huán)境信息:必須有兩個標簽Id代表當前環(huán)境的唯一標識。

 ?、趖ransactionManager:事務管理器

    type:事務管理器的類型;JDBC(JdbcTransactionFactory)|MANAGED(ManagedTransactionFactory)。

       自定義事務管理器:實現(xiàn)TransactionFactory接口.type指定為全類名

 ?、踕ataSource:數(shù)據(jù)源。

    type:數(shù)據(jù)源類型;UNPOOLED(UnpooledDataSourceFactory)|POOLED(PooledDataSourceFactory)|JNDI(JndiDataSourceFactory)

    自定義數(shù)據(jù)源:實現(xiàn)DataSourceFactory接口,type是全類名

5、databaseIdProvider標簽 支持多數(shù)據(jù)廠商的

<databaseIdProvider type="DB_VENDOR">
    <!-- 為不同的數(shù)據(jù)庫廠商起別名 -->
    <property name="MySQL" value="mysql"/>
    <property name="Oracle" value="oracle"/>
    <property name="SQL Server" value="sqlserver"/>
</databaseIdProvider>

6、在SQL映射文件中可以指定所用的數(shù)據(jù)庫id,即使用哪個數(shù)據(jù)庫廠商。在databaseId中指定 

<select id="getEmployeeById" resultType="Employee" databaseId="mysql" >
    SELECT id ,user_name,gender,email FROM tbl_employee WHERE id
    = #{id}
  </select>

7、mappers標簽 將SQL映射注冊到全局配置中

  將我們寫好的sql映射文件(EmployeeMapper.xml)一定要注冊到全局配置文件(mybatis-config.xml)中

  ①注冊一個sql映射注冊配置文件

<mappers>
   <mapper resource="mybatis/mapper/EmployeeMapper.xml"/> 
</mappers>

    resource:引用類路徑下的sql映射文件

    url:引用網(wǎng)絡路徑或者磁盤路徑下的sql映射文件(file:///var/mappers/AuthorMapper.xml)

 ?、谧砸粋€接口      

<mappers>
  <mapper class="com.atguigu.mybatis.dao.EmployeeMapperAnnotation"/> 
</mappers>

    class:引用(注冊)接口,

        有sql映射文件,映射文件名必須和接口同名(忽略大小寫),并且放在與接口同一目錄下

        沒有sql映射文件,所有的sql都是利用注解寫在接口上

    推薦:比較重要的復雜的DAO接口我們來寫sql映射文件,不重要的,簡單的Dao接口為了開發(fā)快速可以使用注解

    如果采用接口注冊,mapper sql映射文件中的nameSpace屬性必須是接口的全類名。

 ?、叟孔?/p>

<mappers>
  <package name="com.atguigu.mybatis.dao"/>
</mappers>

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 并發(fā)編程之Java內(nèi)存模型順序一致性

    并發(fā)編程之Java內(nèi)存模型順序一致性

    這篇文章主要介紹了并發(fā)編程Java內(nèi)存模型順序一致性,順序一致性內(nèi)存模型是一個理論參考模型,處理器的內(nèi)存模型和編程語言的內(nèi)存模型都會以順序一致性內(nèi)存模型作為參照,下面我們一起進入文章看看學校內(nèi)容,需要的朋友可以參考一下
    2021-11-11
  • Java多線程下的其他組件之CyclicBarrier、Callable、Future和FutureTask詳解

    Java多線程下的其他組件之CyclicBarrier、Callable、Future和FutureTask詳解

    這篇文章主要介紹了Java多線程下的其他組件之CyclicBarrier、Callable、Future和FutureTask詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • JavaWeb中Servlet的生命周期及線程安全問題詳解

    JavaWeb中Servlet的生命周期及線程安全問題詳解

    這篇文章主要介紹了JavaWeb中Servlet的生命周期及線程安全問題詳解,Servlet?生命周期可被定義為從創(chuàng)建直到毀滅的整個過程,Servlet體系結構是建立在Java多線程機制之上的,它的生命周期是由Web容器負責的,需要的朋友可以參考下
    2024-01-01
  • 詳解jvm中的標量替換

    詳解jvm中的標量替換

    這篇文章主要介紹了詳解jvm中的標量替換,幫助大家更好的理解和使用Java虛擬機,感興趣的朋友可以了解下
    2020-09-09
  • Spring Boot中Elasticsearch的連接配置原理與使用詳解

    Spring Boot中Elasticsearch的連接配置原理與使用詳解

    在Spring Boot中,我們可以通過Elasticsearch實現(xiàn)對數(shù)據(jù)的搜索和分析,本文將介紹Spring Boot中Elasticsearch的連接配置、原理和使用方法,感興趣的可以了解一下
    2023-09-09
  • 使用JAR包中MANIFEST.MF的注意事項

    使用JAR包中MANIFEST.MF的注意事項

    這篇文章主要介紹了使用JAR包中MANIFEST.MF的注意事項,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Java字符串相關類StringBuffer的用法詳解

    Java字符串相關類StringBuffer的用法詳解

    java.lang包下的StringBuffer類,代表著可變的字符序列,可以用來對字符串內(nèi)容進行增刪改操作。本文將通過示例詳細說說它的用法,感興趣的可以跟隨小編一起學習一下
    2022-10-10
  • java算法之靜態(tài)內(nèi)部類實現(xiàn)雪花算法

    java算法之靜態(tài)內(nèi)部類實現(xiàn)雪花算法

    這篇文章主要介紹了java算法之靜態(tài)內(nèi)部類實現(xiàn)雪花算法,對算法感興趣的同學,一定要看一下
    2021-05-05
  • MyBatis執(zhí)行Sql的流程實例解析

    MyBatis執(zhí)行Sql的流程實例解析

    這篇文章主要介紹了MyBatis執(zhí)行Sql的流程實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12
  • Java 在PDF中添加條形碼的兩種方法

    Java 在PDF中添加條形碼的兩種方法

    本文就將通過使用Java程序來演示如何在PDF文檔中添加Codebar、Code128A和Code39條形碼。通過實例代碼給大家講解的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2020-03-03

最新評論

凤翔县| 麦盖提县| 海城市| 灌阳县| 巍山| 黄浦区| 广昌县| 翁源县| 仁寿县| 克拉玛依市| 宜章县| 普宁市| 全州县| 京山县| 临安市| 竹山县| 福建省| 连州市| 平度市| 泗洪县| 高淳县| 新营市| 甘泉县| 涪陵区| 芦溪县| 怀远县| 荥经县| 彭泽县| 青龙| 屏山县| 杭锦后旗| 黄陵县| 诸暨市| 新河县| 郯城县| 达孜县| 淮北市| 镇原县| 乡宁县| 平潭县| 垫江县|