首页IT科技mybatis手动映射(学习笔记——MyBatis自动映射与自定义映射;Mybatis延迟加载)

mybatis手动映射(学习笔记——MyBatis自动映射与自定义映射;Mybatis延迟加载)

时间2025-08-05 06:09:25分类IT科技浏览4715
导读:2023-01-10...

2023-01-10

一              、MyBatis自动映射与自定义映射

1                      、自动映射:

在映射文件中使用的是“resultType                ”                。指的是自动将数据库中表的字段与类中的属性进行关联映射                      。

2        、自定义映射:

(1)在映射文件中使用的是“resultMap                      ”      。一般是自动映射解决不了的问题                ,就使用自定义映射            。

有“多表连接查询                      ,需要返回多张表的结果集      ”           、以及“单表查询时      ,不支持驼峰式自动映射(这时一般使用别名)            ”

例如:在映射文件中的实例代码            ,之后在<select>中设置为“resultMap                       ”

(2)association

<resultMap id="selectEmplAndDeptByIdAssociation" type="employee"> <!-- 定义主键--> <id column="id" property="id"></id> <!-- 定义非主键                       ,column里面放置数据库中的字段         ,property中放置类中的属性--> <result column="last_name" property="lastName"></result> <result column="email" property="email"></result> <result column="salary" property="salary"></result> <association property="dept" javaType="com.hh.mybatis.pojo.Dept"> <result column="dept_id" property="deptId"></result> <result column="dept_name" property="deptName"></result> </association> </resultMap>

(3)分步查询

使用多表连接查询        ,改为“分步单表查询         ”                        ,从而提高程序运行效率

3                     、注意:自动映射(resultType)与自定义映射(resultMap)只能同时使用一个                       。

二            、Mybatis延迟加载

即需要时加载             ,不需要时暂时不加载

好处是:能提升程序运行效率

延迟加载在“mybatis-config.xml        ”中<setting>的设置

<settings> <setting name="mapUnderscoreToCamelCase" value="true"/> <!-- 延迟加载--> <setting name="lazyLoadingEnabled" value="true"/> <!-- 延迟加载的属性--> <setting name="aggressiveLazyLoading" value="false"/> </settings>
声明:本站所有文章    ,如无特殊说明或标注                        ,均为本站原创发布         。任何个人或组织                 ,在未征得本站同意时,禁止复制        、盗用                     、采集                、发布本站内容到任何网站    、书籍等各类媒体平台        。如若本站内容侵犯了原著者的合法权益                    ,可联系我们进行处理                        。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
remove怎么用python(Remove PyPhantomJS. · f6c29b1 · ariya/phantomjs) linux服务器安全策略配置(Linux服务器安全配置与管理技巧)