MyBatis2(初级)

引子:mybatis的知识回顾

mybatis是一个持久层框架,用于简化jdbc的开发,持久层指的就是持久化操作,通常就是数据访问层,用于操作数据库的。

面试题:什么是mybatis?

一、概述

MyBatis 原本是 Apache 的一个开源项目 iBatis,并且改名为 MyBatis。它主要用于简化数据库访问层的开发,让开发者能够更加方便、高效地与各种数据库进行交互操作。是一个持久层(将数据永久化),orm框架。

点击闪电可以跳过测试用例

通过#{}来选取数据,如果只有一个参数下面什么名字都可以,如果多个参数就得一一对应,除非使用@param进行参数绑定,即使使用参数绑定,但是我们通常还是使用相同名字

正文:

通过注解查询操作

通过select方法并通过sout打印出来的时候,如果数据库字段和userinfo类不匹配的时候就会null

mybatis的插件查询

mybatis很智能即使名字不一样但是如果类型对应的上的话,那就会通过类型自动匹配,没有匹配的为空

结果映射,数据库字段,和java属性不一致的时候解决方法

1.起别名

将数据库的别名和userinfo中的类对应

2.结果映射

将数据库中的字段进行重命名,这时候就可以获得字段了

但是这时候出现了一个问题就是代码如果其中一个修改,其他的很多代码也要修改,这时候我们就用到了ResultMap来寻找之前已经定义的result。

映射关系:resultmap :id的对应

3.驼峰自动转化

在数据库中命名全部小写,单词之间用_下划线来连接,蛇形表达式,java使用小驼峰

在pom文件中配置驼峰自动转化。

MybatisXml配置文件

以上的mybatis使用的是注解的方式来配置文件

最后一行的  map-underscore-to-camel-case: true为配置文件

然后在resource中创建,创建的时候,必须是Mapper.xml结尾的

在这个xml中导入

在name中表示实现哪个文件,直接从想实现的接口中寻找文件位置

使用xml配置的时候常见问题

绑定错误

1.可能是yml中配置的路径和在static中的xml文件的位置不一样

也就是如果Mapper.xml结尾的话那么在resource中就一定要以Mapper,xml结尾就连Mapper2.xml都不行

***xml配置方法时候删除操作

在xml中写入文件

***xml配置方法的时候更新操作

***xml配置方法的时候插入操作

***xml配置方法的时候查询操作

结果映射

主键可写可不写,为了提高可读性

必须要有resultType,resultType的意思是对应哪个实体类,在这里就是对应UserInfo这个实体类,就是要映射哪个类

resultmap映射 

通过resultmap来映射关键字

<id是用来放置主键的

多表查询

中间省略了as实际上ta,tb前面有as

在mybatis中实现多表联合查询

要注意在对应的映射类中,Article中要配置联合中的所有的对象。

企业中通常不使用多表查询,尤其是c端项目,面向用户,b端是面对内部

主要是多表查询会产生慢sql,如果项目比较多的话,就会使得某个项目一直占用sql会影响其他项目,,慢sql可能会占用几十秒。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值