MyBatis概述及入门案例

MyBatis概述

#1.MyBatis概述
MyBatis是最近几年非常流行的数据访问层(DAO)框架,能够简单高效的实现对数据层访问。

#2.常见的数据层访问方式比较
a.JDBC
java原生的关系型数据库访问方式
1)每次操作数据库都需要获取连接关闭连接,在大量访问数据库时,频繁的开关连接消耗性能。
2)需要手动编写sql,有学习成本
3)需要手动赋值sql参数/查询出的结果需要手动进行封装到bean
4)sql语句写死在程序中,需要修改sql必须修改源文件
b.Hibernate
基于面向对象理念设计的DAO层框架,基本理念就是维护对象到表的映射关系,通过操作对象操作表中的数据,从而可以减少甚至杜绝sql的使用
1)相对比较沉重,效率不好
2)当涉及到比较复杂的查询时Hibernate的操作对象的方式用起来非常麻烦,甚至无法实现,只能用sql操作
3)底层需要频繁的拼接sql,产生大量冗余的sql
c.MyBatis
是一种半自动对象-表映射关系的DAO层框架,可以自动的进行对象的封装,但是sql仍然需要自己来写。
结合了JDBC和Hibernate的优点,可以手写sql灵活实现数据访问,自动封装数据,减少繁杂代码。
#2…MyBatis的入门案例
a.创建java项目,并在其中导入相关开发包
在这里插入图片描述
b.创建表,创建bean
i.创建表
create database mydb;
use mydb;
create table user (
id int primary key auto_increment,
name varchar(255),
age int
);
insert into user values (null,‘aaa’,19),(null,‘bbb’,29),(null,‘ccc’,39),(null,‘ddd’,22),(null,‘eee’,33);
ii.创建bean
在这里插入图片描述
c.Eclipse导入约束文件idea不需要
在这里插入图片描述
d.编写配置文件sqlMapConfig.xml,配置数据源
在这里插入图片描述

e.编写映射文件,编写sql
在这里插入图片描述
f.将映射文件配置到sqlMapConfig.xml中
在这里插入图片描述
g.测试类测试
public class Test01 {
@Test
public void test01() throws IOException {
//1.创建SqlSessionFactory
InputStream in = Resources.getResourceAsStream(“sqlMapConfig.xml”);
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
//2.创建SqlSession
SqlSession session = factory.openSession();
//3.调用sql
List list = session.selectList(“cn.tedu.mapper.UserMapper.selcAll”);
System.out.println(list);
//4.关闭session
session.close();
}
}

猜你喜欢

转载自blog.csdn.net/weixin_49307896/article/details/109035480
今日推荐