Mybatis

本文深入探讨MyBatis框架的高级特性,包括别名设置、缓存机制的影响、懒加载实现方式、嵌套查询解决方案及性能优化技巧等。通过具体示例介绍如何使用<selectKey>标签获取主键ID,如何利用<resultMap>标签解决列名和属性名不一致的问题,并提供了实用的一对一、一对多关联查询策略。
mybatis用哪个标签取别名
<param>
mybatis有没有缓存
有缓存
不清空mybatis会有什么影响?
有脏读
namespace
唯一标志
不同的SQL session对象 做相同的查询

获取主键 id :
用<selectKey>标签
<selectKey keyProperty="id" order="AFTER" resultType="int">
select last_insert_id()
</selectKey>
懒加载前提
嵌套查询
解决列名 和 属性名不一致的是:
标签<resultMap>
@results()
如果结果集中明确只有一条数据可查方法用哪个方法:
selectone()
创建mybatis的步骤:
1,创建核心配置文件
2,new SqlSessionFactoryBuilder()对象.
3点build();方法获取SqlsessionFactory
4.获取Sqlsession
5.操作数据库
6.提交事物
7.关闭
在核心配置文件中配置哪些内容:
开发环境
全局变量
配置实物
配置映射器

循环:
<foreach collection="" open="" item="" close="" separator="" index=""></foreach>
collection :便利对象的 类型;array/List
open: 循环体前面的字符
close::循环体后面的字符
item: 每次遍历的对象参数名
separator:循环体中间分割的字符
prameterType:不用写
判断:
<if text="">
test:条件表达式
<where trim="
">

<set>、
去除多余的(,)处理set关键字
替换set标签:
<trim prefix="SET" suffixOverrides=",">
prefix:
suffixOverrides:
一对一:
两点建议:
1)在做表关联查询的时候如果有字段重名,一定要写别名;
2)在做表关联查询的时候尽量把id索引带上,可以提高查询效率;
<association property="us" javaType="pojo.user">
property:属性的名称
javaType:要映射的 类的全限定类名
一对多:
<collection property="orders"
ofType="pojo.orders"
column="id"
select="userANDordersID"
autoMapping="true"
fetchType="lazy">

<resultMap type="vo.MarketPrdersUserVo" id="SQL2map" autoMapping="true">
type:要映射的类的全限定类名
id:<select resultMap="SQL2map">
autoMapping:自动映射
查询:
<select id="SQL2" resultMap="SQL2map">
id:方法名
resultMap:输出的类型(可以是对象、数组、集合、简单类型)
获取主键自增:
<selectKey keyProperty="id" order="AFTER" resultType="int">
keyProperty:查询结果存放在对象的哪个属性中
order:BEFORE/AFTER
resultType:返回值的返回类型;
数组转List集合
Arrays.asList(数组变量);
SQL的优化:
1》合理使用索引
2》使用SQL片段
3》避免使用*
4》SQL执行

                                                                                                                                   仅个人笔记不足或有错之处请留言

                                                                                                                                    以便于我修改!

                                                                                                                                谢谢您的来访!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值