更新時(shí)間:2022-03-23 10:19:38 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1501次
myBatis是一個(gè)持久層ORM框架,也就是一個(gè)半成品軟件,它解決了軟件開發(fā)中的通用性問題,簡化了開發(fā)步驟,提高了開發(fā)效率。
ORM:對(duì)象關(guān)系映射。對(duì)象關(guān)系映射,將程序中的對(duì)象與表中記錄的數(shù)據(jù)一一對(duì)應(yīng)。
1.支持自定義sql、存儲(chǔ)過程和高級(jí)映射
2.對(duì)于原生的JDBC操作進(jìn)行了封裝,幾乎消除了多余的jdbc代碼
3.支持xml配置sql和注解配置sql,并自動(dòng)進(jìn)行ORM操作,返回結(jié)果。
1. 有很多冗余代碼
2.手動(dòng)訪問,關(guān)閉連接
3.需要封裝ResultSet
4.效率不高,沒有緩存
一種。在db.properties中配置數(shù)據(jù)庫連接參數(shù)
--<properties resource="db.properties"></properties>
--<property name="driver" value="${driver}"/>
Copy code
用druid替換連接池——定義連接池工廠,繼承UnpooledDataSourceFactory提供構(gòu)造方法,在該方法中,給父類dataSource賦值在 mybatis 的主配置文件中,通過 type 指向自定義的dataSourceFactory
配置實(shí)體類別名
方式一:基于xml來配置
<typeAliases>
// Define an alias for a single entity class type: type alias: Alias
<!--<typeAlias type="com.qf.entity.Sale" alias="sale"></typeAlias>-->
// Batch define aliases for entity classes under the package by scanning the package , The default class name is lowercase or uppercase
<package name="com.qf.entity"/>
</typeAliases>
Copy code
方式二:基于注解配置
實(shí)體類的屬性名與字段不一致
方式一:定義別名
方式二:將 resultType 定義為 map
<select id="findById2" resultType="map/int/double/javaBean">
select * from sale where id=#{id}
</select>
Copy code
方式三:自定義resultMap,指定字段名和屬性名的對(duì)應(yīng)關(guān)系
<select id="findById3" resultMap="saleMap">
select * from sale where id=#{id}
</select>
<resultMap id="saleMap" type="sale1">
<id column="id" property="id"></id>
<result column="prodName" property="name"></result>
<!--<result column="qty" property="qty"></result>-->
</resultMap>
Copy code
以上就是關(guān)于“MyBatis性能優(yōu)化介紹”,如果大家對(duì)此比較感興趣,想了解更多相關(guān)知識(shí),不妨來關(guān)注一下動(dòng)力節(jié)點(diǎn)的Mybatis-Plus視頻教程,里面的課程內(nèi)容細(xì)致全面,通俗易懂,很適合沒有基礎(chǔ)的小伙伴學(xué)習(xí),希望對(duì)大家能夠有所幫助。
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743