Mybatis精简版快速上手

本文详细介绍了Mybatis的使用,包括ORM概念、配置步骤、参数获取、各种查询方式、自定义映射resultMap、解决多对一和一对多映射关系、动态SQL、缓存机制、逆向工程以及分页插件的配置和应用。通过实例展示了Mybatis如何简化数据库操作。
摘要由CSDN通过智能技术生成

第一章:ORM

ORM:object relation mapping

javaBean: 编写sql–>预编译–>设置参数–>执行sql–>封装结果--------:DBRecords

1、JDBC(简单)
2、Hibernate框架:(全自动框架)将sql那一条流程封装起来,缺点:开发人员无法修改sql语句,不够灵活
3、Mybatis框架:(半自动框架)Sql与java编码分离;sql是开发人员控制

原始连接方式:driverManager,比较麻烦,每次都要重新连接,资源空间消耗巨大
优化链接方式:DataSource:内置封装了一个连接池,多个connection,每次创建datasource都会自动创建多个connections,而与数据库的断开链接并不是真正意义上的断开,而是一个中间层,还存在链接,可以继续提供给其他对象使用。

步骤:
1、配置pom依赖
2、创建mybatis-config配置文件
3、创建Mapper接口
4、创建Mapper接口配置文件,该文件的包名需要和mapper接口一致,其中包含sql语句,具体对应mapper接口中的抽象方法

测试步骤:
1、加载核心配置文件:mybatis-config; InputStream is = Resources.getResourceAsStream(“mybatis-config.xml”)
2、获取SqlSessionFactoryBuilder:SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
3、创建SqlSessionFactory:SqlSessionFactory sqlSessionFactory=sqlSessionFactoryBuilder.build(is);
4、获取SqlSession:SqlSession sqlSession=sqlSessionFactory.openSession(true);
5、使用sqlSession的getMapper方法创建Mapper接口的对象:UserMapper mapper=sqlSession.getMapper(UserMapper.class);
6、调用Mapper接口中对数据库的操作方法:int result = mapper.insertUser();
7、sqlSession提交事务:sqlSession.commit();

查询标签必须设置reslutType 和resultMap
reslutType:设置默认的映射关系;默认的实体类的属性和数据库表的字段相同;
resultMap:设置自定义的映射关系;当字段和属性名不相同时可以自定义;

查询一个条记录,方法返回类型为实体类对象;
查询多条记录,方法返回类型为集合对象;

核心文件配置之properties:设置外部文件输入$在这里插入图片描述

第二章:获取参数值

Mybatis获取参数值的两种方式:${} 和 #{}

单个字面量参数:
1、#{}方式
在这里插入图片描述
在这里插入图片描述
2、 方 式 : 此 方 式 需 要 加 上 单 引 号 ! [ 在 这 里 插 入 图 片 描 述 ] ( h t t p s : / / i m g − b l o g . c s d n i m g . c n / 9 c 80 c b c 632 a 343929827458 d f c f e 9 b 65. p n g ) 多 个 字 面 量 参 数 : ⋅ 若 m a p p e r 接 口 中 的 方 法 参 数 为 多 个 时 , 此 时 M y B a t i s 会 自 动 将 这 些

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乱码制造者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值