Mybatis 配置詳解

完整配置

mybatis-config.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <properties resource="application.properties"/>

    <!-- 參數(shù)設(shè)置 -->
    <settings>
        <!-- 這個配置使全局的映射器啟用或禁用緩存 -->
        <setting name="cacheEnabled" value="true" />
        <!-- 全局啟用或禁用延遲加載细溅。當(dāng)禁用時,所有關(guān)聯(lián)對象都會即時加載 -->
        <setting name="lazyLoadingEnabled" value="true" />
        <!-- 當(dāng)啟用時牛郑,有延遲加載屬性的對象在被調(diào)用時將會完全加載任意屬性羔挡。否則纵顾,每種屬性將會按需要加載 -->
        <setting name="aggressiveLazyLoading" value="true" />
        <!-- 允許或不允許多種結(jié)果集從一個單獨的語句中返回(需要適合的驅(qū)動) -->
        <setting name="multipleResultSetsEnabled" value="true" />
        <!-- 使用列標(biāo)簽代替列名伍茄。不同的驅(qū)動在這方便表現(xiàn)不同。參考驅(qū)動文檔或充分測試兩種方法來決定所使用的驅(qū)動 -->
        <setting name="useColumnLabel" value="true" />
        <!-- 允許JDBC支持生成的鍵施逾。需要適合的驅(qū)動敷矫。如果設(shè)置為true則這個設(shè)置強(qiáng)制生成的鍵被使用,盡管一些驅(qū)動拒絕兼容但仍然有效(比如Derby) -->
        <setting name="useGeneratedKeys" value="true" />
        <!-- 指定MyBatis如何自動映射列到字段/屬性汉额。PARTIAL只會自動映射簡單曹仗,沒有嵌套的結(jié)果。FULL會自動映射任意復(fù)雜的結(jié)果(嵌套的或其他情況) -->
        <setting name="autoMappingBehavior" value="PARTIAL" />
        <!--當(dāng)檢測出未知列(或未知屬性)時蠕搜,如何處理怎茫,默認(rèn)情況下沒有任何提示,這在測試的時候很不方便妓灌,不容易找到錯誤轨蛤。 NONE : 不做任何處理 
            (默認(rèn)值) WARNING : 警告日志形式的詳細(xì)信息 FAILING : 映射失敗,拋出異常和詳細(xì)信息 -->
        <setting name="autoMappingUnknownColumnBehavior" value="WARNING" />
        <!-- 配置默認(rèn)的執(zhí)行器虫埂。SIMPLE執(zhí)行器沒有什么特別之處祥山。REUSE執(zhí)行器重用預(yù)處理語句。BATCH執(zhí)行器重用語句和批量更新 -->
        <setting name="defaultExecutorType" value="SIMPLE" />
        <!-- 設(shè)置超時時間掉伏,它決定驅(qū)動等待一個數(shù)據(jù)庫響應(yīng)的時間 -->
        <setting name="defaultStatementTimeout" value="25000" />
        <!--設(shè)置查詢返回值數(shù)量缝呕,可以被查詢數(shù)值覆蓋 -->
        <setting name="defaultFetchSize" value="100" />
        <!-- 允許在嵌套語句中使用分頁 -->
        <setting name="safeRowBoundsEnabled" value="false" />
        <!--是否開啟自動駝峰命名規(guī)則(camel case)映射澳窑,即從經(jīng)典數(shù)據(jù)庫列名 A_COLUMN 到經(jīng)典 Java 屬性名 aColumn 
            的類似映射。 -->
        <setting name="mapUnderscoreToCamelCase" value="false" />
        <!--MyBatis 利用本地緩存機(jī)制(Local Cache)防止循環(huán)引用(circular references)和加速重復(fù)嵌套查詢供常。 
            默認(rèn)值為 SESSION摊聋,這種情況下會緩存一個會話中執(zhí)行的所有查詢。 若設(shè)置值為 STATEMENT栈暇,本地會話僅用在語句執(zhí)行上栗精,對相同 SqlSession 
            的不同調(diào)用將不會共享數(shù)據(jù)。 -->
        <setting name="localCacheScope" value="SESSION" />
        <!-- 當(dāng)沒有為參數(shù)提供特定的 JDBC 類型時瞻鹏,為空值指定 JDBC 類型。 某些驅(qū)動需要指定列的 JDBC 類型鹿寨,多數(shù)情況直接用一般類型即可新博,比如 
            NULL、VARCHAR OTHER脚草。 -->
        <setting name="jdbcTypeForNull" value="OTHER" />
        <!-- 指定哪個對象的方法觸發(fā)一次延遲加載赫悄。 -->
        <setting name="lazyLoadTriggerMethods" value="equals,clone,hashCode,toString" />
    </settings>

    <!-- 別名定義 -->
    <!--<typeAliases>
        <typeAlias alias="pageAccessURL" type="com.lgm.mybatis.model.PageAccessURL" />
    </typeAliases>-->

    <!--自定義類型處理器 -->
    <typeHandlers>
        <!-- <typeHandler handler="com.xhm.util.BooleanTypeHandlder" /> -->
        <!--掃描整個包下的自定義類型處理器 -->
        <package name="com.xiaolyuh.util" />
    </typeHandlers>

    <!--plugins插件之 分頁攔截器 -->
<!--    <plugins>
        <plugin interceptor="com.xhm.util.PageInterceptor"></plugin>
    </plugins>-->

    <!--配置environment環(huán)境 -->
    <environments default="development1">
        <!-- 環(huán)境配置1,每個SqlSessionFactory對應(yīng)一個環(huán)境 -->
        <environment id="development1">
            <!-- 事務(wù)配置 type= JDBC馏慨、MANAGED 1.JDBC:這個配置直接簡單使用了JDBC的提交和回滾設(shè)置埂淮。它依賴于從數(shù)據(jù)源得到的連接來管理事務(wù)范圍。 
                2.MANAGED:這個配置幾乎沒做什么写隶。它從來不提交或回滾一個連接倔撞。而它會讓容器來管理事務(wù)的整個生命周期(比如Spring或JEE應(yīng)用服務(wù)器的上下文)。 
                默認(rèn)情況下它會關(guān)閉連接慕趴。然而一些容器并不希望這樣痪蝇,因此如果你需要從連接中停止它,將closeConnection屬性設(shè)置為false -->
            <transactionManager type="JDBC" />
            <!-- <transactionManager type="MANAGED"> <property name="closeConnection" 
                value="false"/> </transactionManager> -->
            <!-- 數(shù)據(jù)源類型:type = UNPOOLED冕房、POOLED躏啰、JNDI 1.UNPOOLED:這個數(shù)據(jù)源的實現(xiàn)是每次被請求時簡單打開和關(guān)閉連接。它有一點慢耙册,這是對簡單應(yīng)用程序的一個很好的選擇给僵,因為它不需要及時的可用連接。 
                不同的數(shù)據(jù)庫對這個的表現(xiàn)也是不一樣的详拙,所以對某些數(shù)據(jù)庫來說配置數(shù)據(jù)源并不重要帝际,這個配置也是閑置的 2.POOLED:這是JDBC連接對象的數(shù)據(jù)源連接池的實現(xiàn),用來避免創(chuàng)建新的連接實例時必要的初始連接和認(rèn)證時間溪厘。 
                這是一種當(dāng)前Web應(yīng)用程序用來快速響應(yīng)請求很流行的方法胡本。 3.JNDI:這個數(shù)據(jù)源的實現(xiàn)是為了使用如Spring或應(yīng)用服務(wù)器這類的容器,容器可以集中或在外部配置數(shù)據(jù)源畸悬,然后放置一個JNDI上下文的引用 -->
            <dataSource type="UNPOOLED">
                <property name="driver" value="${spring.datasource.driver-class-name}"/>
                <property name="url" value="${spring.datasource.url}"/>
                <property name="username" value="${spring.datasource.username}"/>
                <property name="password" value="${spring.datasource.password}"/>
                <!-- 默認(rèn)連接事務(wù)隔離級別 <property name="defaultTransactionIsolationLevel" value="" 
                    /> -->
            </dataSource>
        </environment>

        <!-- 環(huán)境配置2 -->
        <environment id="development2">
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">
                <property name="driver" value="${spring.datasource.driver-class-name}"/>
                <property name="url" value="${spring.datasource.url}"/>
                <property name="username" value="${spring.datasource.username}"/>
                <property name="password" value="${spring.datasource.password}"/>
                <!-- 在任意時間存在的活動(也就是正在使用)連接的數(shù)量 -->
                <property name="poolMaximumActiveConnections" value="10" />
                <!-- 任意時間存在的空閑連接數(shù) -->
                <property name="poolMaximumIdleConnections" value="5" />
                <!-- 在被強(qiáng)制返回之前侧甫,池中連接被檢查的時間 -->
                <property name="poolMaximumCheckoutTime" value="20000" />
                <!-- 這是給連接池一個打印日志狀態(tài)機(jī)會的低層次設(shè)置珊佣,還有重新嘗試獲得連接,這些情況下往往需要很長時間(為了避免連接池沒有配置時靜默失斉凇) -->
                <property name="poolTimeToWait" value="20000" />
                <!-- 發(fā)送到數(shù)據(jù)的偵測查詢咒锻,用來驗證連接是否正常工作,并且準(zhǔn)備接受請求守屉。 -->
                <property name="poolPingQuery" value="NO PING QUERY SET" />
                <!-- 這是開啟或禁用偵測查詢惑艇。如果開啟,你必須用一個合法的SQL語句(最好是很快速的)設(shè)置poolPingQuery屬性 -->
                <property name="poolPingEnabled" value="false" />
                <!-- 這是用來配置poolPingQuery多次時間被用一次拇泛。這可以被設(shè)置匹配標(biāo)準(zhǔn)的數(shù)據(jù)庫連接超時時間滨巴,來避免不必要的偵測 -->
                <property name="poolPingConnectionsNotUsedFor" value="0" />
            </dataSource>
        </environment>

        <!-- 環(huán)境配置3 -->
        <environment id="development3">
            <transactionManager type="JDBC" />
            <dataSource type="JNDI">
                <property name="data_source" value="java:comp/env/jndi/mybatis" />
                <property name="env.encoding" value="UTF8" />
                <!-- <property name="initial_context" value=""/> <property name="env.encoding" 
                    value="UTF8"/> -->
            </dataSource>
        </environment>
    </environments>

    <!-- 映射文件,mapper的配置文件 -->
    <mappers>
        <!--直接映射到相應(yīng)的mapper文件 -->
        <mapper resource="mybaits/PersonMapper.xml" />
        <!--掃描包路徑下所有xxMapper.java文件 -->
        <package name="com.xiaolyuh.domain.mapper.*Mapper" />
    </mappers>

</configuration>  

一級配置

屬性名 說明 備注
properties 引入外部的properties文件俺叭,配置的屬性可以在整個配置文件中其他位置進(jìn)行引用恭取; 重要,主要作用是解耦
settings 用于指定MyBatis的一些全局配置屬性熄守,這些屬性非常重要蜈垮,它們會改變MyBatis的運行時行為; 重要
typeAliases 別名裕照,為Java類型設(shè)置一個短的名字攒发,映射時方便使用;分為系統(tǒng)定義別名和自定義別名晋南; 可以通過xml和注解配置
typeHandlers 用于jdbcType與javaType之間的轉(zhuǎn)換惠猿,如枚舉; 無特殊需求不需要調(diào)整负间;
ObjectFactory MyBatis每次創(chuàng)建結(jié)果對象的新實例時紊扬,它都會使用對象工廠(ObjectFactory)去構(gòu)建POJO 大部分場景下無需修改
plugins 插件配置,MyBatis允許你在已映射的語句執(zhí)行過程中的某一點進(jìn)行攔截調(diào)用唉擂;
environments 用于配置多個數(shù)據(jù)源餐屎,每個數(shù)據(jù)源分為數(shù)據(jù)庫源和事務(wù)的配置; 在多數(shù)據(jù)源環(huán)境使用
databaseIdProvider MyBatis可以根據(jù)不同的數(shù)據(jù)庫廠商執(zhí)行不同的語句玩祟,用于一個系統(tǒng)內(nèi)多廠商數(shù)據(jù)源支持腹缩。 大部分場景下無需修改
mappers 配置引入映射器的方法】赵可以使用相對于類路徑的資源引用藏鹊、或完全限定資源定位符(包括file:///的URL),或類名和包名等等 后面會專題說明

setting

這是 MyBatis 中極為重要的調(diào)整設(shè)置转锈,它們會改變 MyBatis 的運行時行為盘寡。 下表描述了設(shè)置中各項的意圖、默認(rèn)值等撮慨。

設(shè)置名 描述 有效值 默認(rèn)值
cacheEnabled 全局地開啟或關(guān)閉配置文件中的所有映射器已經(jīng)配置的任何緩存竿痰。 true脆粥、false true
lazyLoadingEnabled 延遲加載的全局開關(guān)。當(dāng)開啟時影涉,所有關(guān)聯(lián)對象都會延遲加載变隔。 特定關(guān)聯(lián)關(guān)系中可通過設(shè)置 fetchType 屬性來覆蓋該項的開關(guān)狀態(tài)。 true蟹倾、false false
aggressiveLazyLoading 當(dāng)開啟時匣缘,任何方法的調(diào)用都會加載該對象的所有屬性。 否則鲜棠,每個屬性會按需加載(參考 lazyLoadTriggerMethods)肌厨。 true、false false (在 3.4.1 及之前的版本默認(rèn)值為 true)
multipleResultSetsEnabled 是否允許單一語句返回多結(jié)果集(需要驅(qū)動支持)豁陆。 true夏哭、false true
useColumnLabel 使用列標(biāo)簽代替列名。不同的驅(qū)動在這方面會有不同的表現(xiàn)献联,具體可參考相關(guān)驅(qū)動文檔或通過測試這兩種不同的模式來觀察所用驅(qū)動的結(jié)果。 true何址、false true
useGeneratedKeys 允許 JDBC 支持自動生成主鍵里逆,需要驅(qū)動支持。 如果設(shè)置為 true 則這個設(shè)置強(qiáng)制使用自動生成主鍵用爪,盡管一些驅(qū)動不能支持但仍可正常工作(比如 Derby)原押。 true、false False
autoMappingBehavior 指定 MyBatis 應(yīng)如何自動映射列到字段或?qū)傩浴?NONE 表示取消自動映射偎血;PARTIAL 只會自動映射沒有定義嵌套結(jié)果集映射的結(jié)果集诸衔。 FULL 會自動映射任意復(fù)雜的結(jié)果集(無論是否嵌套)。 NONE, PARTIAL, FULL PARTIAL
autoMappingUnknownColumnBehavior 指定發(fā)現(xiàn)自動映射目標(biāo)未知列(或者未知屬性類型)的行為颇玷。NONE: 不做任何反應(yīng)笨农;WARNING: 輸出提醒日志;('org.apache.ibatis.session.AutoMappingUnknownColumnBehavior' 的日志等級必須設(shè)置為 WARN)帖渠;FAILING: 映射失敗 (拋出 SqlSessionException) NONE, WARNING, FAILING NONE
defaultExecutorType 配置默認(rèn)的執(zhí)行器谒亦。SIMPLE 就是普通的執(zhí)行器;REUSE 執(zhí)行器會重用預(yù)處理語句(prepared statements)空郊; BATCH 執(zhí)行器將重用語句并執(zhí)行批量更新份招。 SIMPLE、REUSE狞甚、BATCH SIMPLE
defaultStatementTimeout 設(shè)置超時時間锁摔,它決定驅(qū)動等待數(shù)據(jù)庫響應(yīng)的秒數(shù)。 任意正整數(shù) 未設(shè)置 (null)
defaultFetchSize 為驅(qū)動的結(jié)果集獲取數(shù)量(fetchSize)設(shè)置一個提示值哼审。此參數(shù)只可以在查詢設(shè)置中被覆蓋谐腰。 任意正整數(shù) 未設(shè)置 (null)
defaultResultSetType Specifies a scroll strategy when omit it per statement settings. (Since: 3.5.2) FORWARD_ONLY孕豹、SCROLL_SENSITIVE 、SCROLL_INSENSITIVE怔蚌、DEFAULT(same behavior with 'Not Set') Not Set (null)
safeRowBoundsEnabled 允許在嵌套語句中使用分頁(RowBounds)巩步。如果允許使用則設(shè)置為 false。 true桦踊、false False
safeResultHandlerEnabled 允許在嵌套語句中使用分頁(ResultHandler)椅野。如果允許使用則設(shè)置為 false。 true籍胯、false True
mapUnderscoreToCamelCase 是否開啟自動駝峰命名規(guī)則(camel case)映射竟闪,即從經(jīng)典數(shù)據(jù)庫列名 A_COLUMN 到經(jīng)典 Java 屬性名 aColumn 的類似映射。 true杖狼、false False
localCacheScope MyBatis 利用本地緩存機(jī)制(Local Cache)防止循環(huán)引用(circular references)和加速重復(fù)嵌套查詢炼蛤。 默認(rèn)值為 SESSION,這種情況下會緩存一個會話中執(zhí)行的所有查詢蝶涩。 若設(shè)置值為 STATEMENT理朋,本地會話僅用在語句執(zhí)行上,對相同 SqlSession 的不同調(diào)用將不會共享數(shù)據(jù)绿聘。 SESSION嗽上、STATEMENT SESSION
jdbcTypeForNull 當(dāng)沒有為參數(shù)提供特定的 JDBC 類型時,為空值指定 JDBC 類型熄攘。 某些驅(qū)動需要指定列的 JDBC 類型兽愤,多數(shù)情況直接用一般類型即可,比如 NULL挪圾、VARCHAR 或 OTHER浅萧。 JdbcType 常量,常用值:NULL, VARCHAR 或 OTHER哲思。 OTHER
lazyLoadTriggerMethods 指定哪個對象的方法觸發(fā)一次延遲加載洼畅。 用逗號分隔的方法列表。 equals,clone,hashCode,toString
defaultScriptingLanguage 指定動態(tài) SQL 生成的默認(rèn)語言棚赔。 一個類型別名或完全限定類名土思。 org.apache.ibatis.scripting.xmltags.XMLLanguageDriver
defaultEnumTypeHandler 指定 Enum 使用的默認(rèn) TypeHandler 。(新增于 3.4.5) 一個類型別名或完全限定類名忆嗜。 org.apache.ibatis.type.EnumTypeHandler
callSettersOnNulls 指定當(dāng)結(jié)果集中值為 null 的時候是否調(diào)用映射對象的 setter(map 對象時為 put)方法己儒,這在依賴于 Map.keySet() 或 null 值初始化的時候比較有用。注意基本類型(int捆毫、boolean 等)是不能設(shè)置成 null 的闪湾。 true、false false
returnInstanceForEmptyRow 當(dāng)返回行的所有列都是空時绩卤,MyBatis默認(rèn)返回 null途样。 當(dāng)開啟這個設(shè)置時江醇,MyBatis會返回一個空實例。 請注意何暇,它也適用于嵌套的結(jié)果集 (如集合或關(guān)聯(lián))陶夜。(新增于 3.4.2) true、false false
logPrefix 指定 MyBatis 增加到日志名稱的前綴裆站。 任何字符串 未設(shè)置
logImpl 指定 MyBatis 所用日志的具體實現(xiàn)条辟,未指定時將自動查找。 SLF4J宏胯、LOG4J羽嫡、LOG4J2、JDK_LOGGING肩袍、COMMONS_LOGGING杭棵、STDOUT_LOGGING、NO_LOGGING 未設(shè)置
proxyFactory 指定 Mybatis 創(chuàng)建具有延遲加載能力的對象所用到的代理工具氛赐。 CGLIB魂爪、JAVASSIST JAVASSIST (MyBatis 3.3 以上)
vfsImpl 指定 VFS 的實現(xiàn) 自定義 VFS 的實現(xiàn)的類全限定名,以逗號分隔艰管。 未設(shè)置
useActualParamName 允許使用方法簽名中的名稱作為語句參數(shù)名稱滓侍。 為了使用該特性,你的項目必須采用 Java 8 編譯蛙婴,并且加上 -parameters 選項。(新增于 3.4.1) true尔破、false true
configurationFactory 指定一個提供 Configuration 實例的類街图。 這個被返回的 Configuration 實例用來加載被反序列化對象的延遲加載屬性值。 這個類必須包含一個簽名為static Configuration getConfiguration() 的方法懒构。(新增于 3.2.3) 類型別名或者全類名. 未設(shè)置

environment

environment 元素是配置一個數(shù)據(jù)源的開始餐济,屬性id是它的唯一標(biāo)識

transactionManager

transactionManager 元素配置數(shù)據(jù)庫事務(wù),其中type屬性有三種配置方式:

  • jdbc胆剧,采用jdbc的方式管理事務(wù)絮姆;
  • managed,采用容器的方式管理事務(wù)秩霍,在JNDI數(shù)據(jù)源中使用篙悯;
  • 自定義,自定義數(shù)據(jù)庫事務(wù)管理辦法铃绒;

dataSource

dataSource 元素配置數(shù)據(jù)源連接信息鸽照,type屬性是連接數(shù)據(jù)庫的方式配置,有四種配置方式:

  • UNPOOLED 非連接池方式連接
  • POOLED 使用連接池連接
  • JNDI 使用JNDI數(shù)據(jù)源
  • 自定義數(shù)據(jù)源

mappers

既然 MyBatis 的行為已經(jīng)由上述元素配置完了颠悬,我們現(xiàn)在就要定義 SQL 映射語句了矮燎。 但是首先我們需要告訴 MyBatis 到哪里去找到這些語句定血。 Java 在自動查找這方面沒有提供一個很好的方法,所以最佳的方式是告訴 MyBatis 到哪里去找映射文件诞外。 你可以使用相對于類路徑的資源引用澜沟, 或完全限定資源定位符(包括 file:/// 的 URL),或類名和包名等峡谊。例如:

用classPath下資源引用

<!-- 使用相對于類路徑的資源引用 -->
<mappers>
  <mapper resource="org/mybatis/builder/AuthorMapper.xml"/>
  <mapper resource="org/mybatis/builder/BlogMapper.xml"/>
  <mapper resource="org/mybatis/builder/PostMapper.xml"/>
</mappers>
<!-- 使用完全限定資源定位符(URL) -->
<mappers>
  <mapper url="file:///var/mappers/AuthorMapper.xml"/>
  <mapper url="file:///var/mappers/BlogMapper.xml"/>
  <mapper url="file:///var/mappers/PostMapper.xml"/>
</mappers>
<!-- 使用映射器接口實現(xiàn)類的完全限定類名 -->
<mappers>
  <mapper class="org.mybatis.builder.AuthorMapper"/>
  <mapper class="org.mybatis.builder.BlogMapper"/>
  <mapper class="org.mybatis.builder.PostMapper"/>
</mappers>
<!-- 將包內(nèi)的映射器接口實現(xiàn)全部注冊為映射器 -->
<mappers>
  <package name="org.mybatis.builder"/>
</mappers>

參考

https://mybatis.org/mybatis-3/zh/configuration.html#mappers

源碼

https://github.com/wyh-spring-ecosystem-student/spring-boot-student/tree/releases

spring-boot-student-mybatis工程

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末茫虽,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子靖苇,更是在濱河造成了極大的恐慌席噩,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件贤壁,死亡現(xiàn)場離奇詭異悼枢,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)脾拆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進(jìn)店門馒索,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人名船,你說我怎么就攤上這事绰上。” “怎么了渠驼?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵蜈块,是天一觀的道長。 經(jīng)常有香客問我迷扇,道長百揭,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任蜓席,我火速辦了婚禮器一,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘厨内。我一直安慰自己祈秕,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布雏胃。 她就那樣靜靜地躺著请毛,像睡著了一般。 火紅的嫁衣襯著肌膚如雪瞭亮。 梳的紋絲不亂的頭發(fā)上获印,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼兼丰。 笑死玻孟,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的鳍征。 我是一名探鬼主播黍翎,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼艳丛!你這毒婦竟也來了匣掸?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤氮双,失蹤者是張志新(化名)和其女友劉穎碰酝,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體戴差,經(jīng)...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡送爸,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年糕篇,在試婚紗的時候發(fā)現(xiàn)自己被綠了像捶。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,569評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡媳纬,死狀恐怖球匕,靈堂內(nèi)的尸體忽然破棺而出纹磺,到底是詐尸還是另有隱情,我是刑警寧澤亮曹,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布橄杨,位于F島的核電站,受9級特大地震影響照卦,放射性物質(zhì)發(fā)生泄漏式矫。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一窄瘟、第九天 我趴在偏房一處隱蔽的房頂上張望衷佃。 院中可真熱鬧趟卸,春花似錦蹄葱、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至邻邮,卻和暖如春竣况,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背筒严。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工丹泉, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留情萤,地道東北人。 一個月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓摹恨,卻偏偏與公主長得像筋岛,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子晒哄,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,446評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 字節(jié)跳動飛書內(nèi)推睁宰!北京、杭州寝凌、武漢柒傻、廣州、深圳较木、上海红符,六大城市等你來投。感興趣的朋友可以私我咨詢&內(nèi)推劫映,也可以通過...
    盧卡斯嗶嗶嗶閱讀 9,828評論 0 4
  • 概要 通篇了解,后期與spring集成 配置連接數(shù)據(jù)庫的四個元素 注冊實體類的權(quán)限定性類名的別名 配置MyBati...
    唯老閱讀 1,725評論 1 0
  • 1. 簡介 1.1 什么是 MyBatis 泳赋? MyBatis 是支持定制化 SQL雌桑、存儲過程以及高級映射的優(yōu)秀的...
    笨鳥慢飛閱讀 5,452評論 0 4
  • 參考w3c 教程 1.概述 MyBatis 是支持定制化SQL、存儲過程以及高級映射的優(yōu)秀的持久層框架祖今。MyBat...
    王偵閱讀 414評論 0 0
  • 什么是Mybatis MyBatis 是一款優(yōu)秀的持久層框架校坑,它支持定制化 SQL、存儲過程以及高級映射千诬。MyBa...
    topshi閱讀 640評論 0 3