mybatis简介以及实现mybatis第一个项目,超详细

1、Mybatis 和数据库进行交互;持久化框架(SQL映射框架)
mybits图标

在这里插入图片描述

原生的jdbc相当于你拿着衣服,自己跑到河边自己手洗衣服,什么都要自己干
Hibernate相当于一个全自动的洗衣机,衣服丢进去,拿出来就是烘干了的,但有些衣服又不需要烘干。这个时候就出现了Mybits

  • Mybatis: SQL全部写在配置文件中

  • Mybatis底层就是对原生jdbc的一个简单封装

  • 既将java编码与SQL抽取了出来,还不会失去自动化功能,半自动的持久化框架
    在这里插入图片描述
    iBatis 和 mybatis 是一回事

Mybatis 实现的效果

在这里插入图片描述
导入mybits的jar包只有一个, 又称之为轻量级框架

mybits入门官方文档地址

环境搭建

1、创建一个java工程在这里插入图片描述
2、创建测试库,测试表,以及封装数据的Javabean,和操作数据库的dao接口
在这里插入图片描述
创建一个Javabean,属性必须是私有的,属性方法必须是共有的,必须还有无参构造函数
在这里插入图片描述

二、 什么是接口

接口是类的行为的抽象概述

接口和抽象类的区别
抽象类是单继承,接口是多实现

3、mybatis操作数据库

1、导包:
mybatis 的包,数据库驱动的包,
再建议导入一个日志包:在mybatis关键环节就有日志打印
在这里插入图片描述
但是这个日志包的工作还依赖一个log4j.xml配置文件

2、写配置文件(两个,全局配置文件(知道mybatis运行的),dao接口实现文件(描述dao每个方法怎么实现))
第一个配置文件:mybatisconfig.xml 称为mybatis的全局配置文件,指导mybatis如何正确运行,比如连接哪个数据库
查询mybatis的官方文档
在这里插入图片描述
复制到conf包下,并且修改配置
在这里插入图片描述
第二个配置文件:(编写每一个方法(这里指的是interface接口方法)都如何向数据库发送SQL语句,如何执行。。。。相当于接口的实现类)
查询官方文档:
在这里插入图片描述
修改的步骤如图所示:
这一步非常重要在这里插入图片描述

非常重要的操作

3)、我们写的dao接口实现文件,mybatis默认是不知道的,需要在全局配置文件中注册,这一步非常重要
在这里插入图片描述

测试

步骤:
第一步:根据全局配置文件先创建一个

		String resource = "mybatisconfig.xml";
		InputStream inputStream = Resources.getResourceAsStream(resource);
		SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

第二步:SqlSessionFactory 中获取SqlSession对象,操作数据库即可

		//2、获取和数据库的一次会话,相当于获得一条连接
		SqlSession openSession = sqlSessionFactory.openSession();
		//3、使用SqlSession操作数据库,获取到dao接口的实现
		EmployeeDao employeeDao = openSession.getMapper(EmployeeDao.class);
		Employee empById = employeeDao.getEmpById(1);
		System.out.println(empById);

创建test测试
查看文档:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

public class MybatisTest {

	@Test
	public void test() throws IOException {
		//1、根据全局配置文件创建出一个SqlSessionFactory
		//SqlSessionFactory:是SqlSession工厂,负责创建SqlSession对象
		//SqlSession对象:sql会话(代表和数据库的一次会话)
		String resource = "mybatisconfig.xml";
		InputStream inputStream = Resources.getResourceAsStream(resource);
		SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
		
		
		//2、获取和数据库的一次会话,相当于获得一条连接
		SqlSession openSession = sqlSessionFactory.openSession();
		//3、使用SqlSession操作数据库,获取到dao接口的实现
		EmployeeDao employeeDao = openSession.getMapper(EmployeeDao.class);
		Employee empById = employeeDao.getEmpById(1);
		System.out.println(empById);
	}
}

在这里插入图片描述
在这里插入图片描述

总结

我们大部分配置都是CV过来的,就配置了两个配置文件,mybatisconfig文件里就配置了数据库连接的信息,驱动用户名和密码
在这里插入图片描述
然后将实现文件注册进来,在mapper标签里
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

你在狗叫什么、

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

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

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

打赏作者

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

抵扣说明:

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

余额充值