Mybatis框架

Mybatis框架

Mybatis和Hibernate框架作用相同 都是ORM框架  对象关系映射 操作数据库 

(JDBC数据库连接技术返回出来的结果集中 全是数据库字段 需要遍历 将每个字段找到对应类的属性)

通过ORM框架 直接找到对应(ying'she)实体类的对象

Mybatis 和 Hibernate的区别

mybatis框架是半自动的 需要我们自己写sql语句. 

它不完全是一个ORM框架,因为MyBatis需要程序员自己编写Sql语句,不过mybatis可以通过XML或注解方式灵活配置要运行的sql语句,并将java对象和sql语句映射生成最终执行的sql,最后将sql执行的结果再映射生成java对象。Mybatis学习门槛低,简单易学,程序员直接编写原生态sql,可严格控制sql执行性能,灵活度高,非常适合对关系数据模型要求不高的软件开发。

hibernate框架是全自动  可以直接调用方法,无语句查询

Hibernate对象/关系映射能力强,数据库无关性好,对于关系模型要求高的软件(例如需求固定的定制化软件)如果用hibernate开发可以节省很多代码,提高效率。但是Hibernate的学习门槛高,要精通门槛更高,而且怎么设计O/R映射,在性能和对象模型之间如何权衡,以及怎样用好Hibernate需要具有很强的经验和能力才行。

Mybatis框架_第1张图片

搭建Mybatis框架

1.引jar包

链接: https://pan.baidu.com/s/14t3pwodfedFD-62gbHTP-g 密码: e9ur

2.配置mybatis的配置文件

   Configuration.xml

3.创建实体类 设置对应的映射文件

mybatis框架 在映射文件中写sql语句

4.读取mybatis配置文件,获取session      调用方法

Reader reader = Resources.getResourceAsReader("Configuration.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);

我们在调用方法的时候,如果方法需要传参

我们就可以用传参的方法来执行

session.selectList("Teacher.selectByNameAndPwd")  ------ 不传参的方式

在需要传参的时候 如果多个参数属于一个实体类 直接传个实体类对象就好了

如果多个参数没有关联, 传个Map就好了

也可以传的是一个参数(int,string等)

session.selectList("Teacher.selectByNameAndPwd", teacher) ------ 传参

当我们在调用方法的时候传参了  自然要在xml对应标签中接收  

注意: 如果传递的是map,占位符用 #{key} 就取出来了

配置映射文件时 数据库表中的字段名 和 实体类中的属性名 完全一致的时候 不需要配置对应映射,直接resultType实体类就好

 

你可能感兴趣的:(Mybatis框架)