mybatis 简介

来源:互联网 发布:历年网络作家富豪榜 编辑:程序博客网 时间:2024/06/06 09:37

mybits是一个轻量级的DAo层框架         谷歌 的

mybatis 和JDBC 的区别?

Mybatis是对JDBC 的封装 ,执行效率JDBC 高  sql语句不写在java中,减少了硬编码  sql 写到xml映射文件中

使用mybatis 无需再编写Dao实现类


mybatis 和hibernate区别?         都是dao层框架

相同点: 都是ORM框架     ORM 对象关系映射(英语:(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换

异同点1.Hibernate 是完全基于对象操作数据库,是一个全自动化的ORM框架(不需要编写SQL)   

hibernate适用于 中小型项目,需求变化不快的项目

   2.Mybatis需要编写SQL,是一个半自动化的ORM框架

mybatis适用于互联网项目

3. 使用mybatis无需再编写Dao实现类


Mybatis 开发步骤

1.导包      数据库驱动连接包

2.    编写Mybatis 主配置文件:SqlMapConfig.xml 

2.1配置数据库连接参数

2.2加载映射文件

3.编写POJO

4.编写接口

5.编写接口映射文件:和接口名一样,和接口在一个包 

Mybatis API常见类


SqlSessionFactory: 一般一个项目就一个,后期整合到spring 中

SqlSession: 它是线程非安全的,一般一个CRUD对应一个SqlSession

DML操作需要提交事务,否则数据库无法更新

session.commit();

DML操作没有resultType,但是有返回值,返回值为受影响的记录数

#{xxxxx}:相当于?   字符类型会自动加 '  '

${value}:把参数值原样输出到sql语句中

注意${value} 可以写到  '  ',一般用sql拼接,


Mybatis Dao开发

1.手动编写接口实现类

2.有Mybatis代理生成实现类(掌握)


2.1接口 和映射文件 同名  和接口名一样,和接口在一个包 

2.2  映射文件 的namespance =" 接口的全限定名" 

2.3 CRUD sql语句的id="接口的方法名"

注意: 有Mybatis代理生成实现类,先写接口在写映射文件




当列名和属性名不一致时:
1.给列起别名:列名 as 属性名
2.接口的返回值为Map:map的key就是列名
3.使用resultMap


给Mybatis传多个参数:
1.把多个参数封装成Map:
注意Map的key必须和#{xxx}一致
2.多参数使用@Param
映射文件无需再添加parameterType
注意#{@Param("xxxx")}
3.把多个参数封装成JavaBean
注意:JavaBean的属性名必须和#{xxx}一致


原创粉丝点击