专注Java教育14年 全国咨询/投诉热线:444-1124-454
赢咖4LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 MyBatis性能优化介绍

MyBatis性能优化介绍

更新时间:2022-03-23 10:19:38 来源:赢咖4 浏览1198次

概念:

myBatis是一个持久层ORM框架,也就是一个半成品软件,它解决了软件开发中的通用性问题,简化了开发步骤,提高了开发效率。

ORM:对象关系映射。对象关系映射,将程序中的对象与表中记录的数据一一对应。

影响 :

1.支持自定义sql、存储过程和高级映射

2.对于原生的JDBC操作进行了封装,几乎消除了多余的jdbc代码

3.支持xml配置sql和注解配置sql,并自动进行ORM操作,返回结果。

JDBC有什么缺点?:

1. 有很多冗余代码

2.手动访问,关闭连接

3.需要封装ResultSet

4.效率不高,没有缓存

优化

一种。在db.properties中配置数据库连接参数

 --<properties resource="db.properties"></properties>
--<property name="driver" value="${driver}"/>
 Copy code 

用druid替换连接池——定义连接池工厂,继承UnpooledDataSourceFactory提供构造方法,在该方法中,给父类dataSource赋值在 mybatis 的主配置文件中,通过 type 指向自定义的dataSourceFactory

配置实体类别名

方式一:基于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 

方式二:基于注解配置

实体类的属性名与字段不一致

方式一:定义别名

方式二:将 resultType 定义为 map

 <select id="findById2" resultType="map/int/double/javaBean">
select * from sale where id=#{id}
</select>
 Copy code 

方式三:自定义resultMap,指定字段名和属性名的对应关系

 <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 

以上就是关于“MyBatis性能优化介绍”,如果大家对此比较感兴趣,想了解更多相关知识,不妨来关注一下赢咖4的Mybatis-Plus视频教程,里面的课程内容细致全面,通俗易懂,很适合没有基础的小伙伴学习,希望对大家能够有所帮助。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>