1.Mybatis框架的引言
a)MyBatis框架的基本概念
MyBatis是一个持久层框架,完成对数据库的访问(CRUD)
b)MyBatis框架解决了什么问题?
JDBC访问和操作数据库存在问题:
I.大量的代码冗余
Ii.手工处理ORM(麻烦)
Iii.没有对数据库进行优化(Cache)
解决JDBC访问和操作数据库存在的问题,是对原有JDBC技术的封装
c)MyBatis框架的核心编程思路
2.第一个Mybatis程序的开发(HelloWorld)
a)环境搭建(OpenSource)
i.Ibatis是MyBatis的前身,apache组织
ii.IBatis从3.0开始改名为MyBatis google code
iii.MyBatis 属于GitHub
1.导入Jar包
a)Mybatis的核心jar包
b)第三方依赖jar
c)Oracle的驱动jar ojdbc14.jar
2.引入配置文件
a)log4j.properties【可选】 放置位置Src跟目录下
日志的配置文件 把MyBatis框架运行过程中的日志信息打印出来
目的:关注MyBatis运行过程
b)MyBatis-config.xml放置位置 随便 建议放置在src目录下
配置的是MyBatis运行的相关参数
c)Mapper文件
实现DAO接口 位置随便放
3.初始化配置
Mybatis-config.xml配置
数据库的相关参数(username password driver url)
Mapper文件的注册
b)MyBatis API
I.Resources
作用:读取mybatis-config配置文件。打开IO
ii.SqlSessionFactory
作用:通过SqlSessionFactory这个工厂 创建SqlSession对象
Iii.SqlSession
作用:1.根据程序员书写的Mapper文件,自动的创建mapper文件对应的java类(DAO接口的实现类)
2.SqlSession内部 封装了Connection对象
3.SqlSession控制事务 SqlSession.commit ------Connection.commit
SqlSession.rollback -----Connection.rollback
注意:实战开发中:增删改需要控制事务 查询不需要控制事务
c)MyBatis的开发步骤
I.建表
Ii.写实体
iii.DAO接口
iiii.Mapper文件做DAO的实现
V. Mapper文件的注册
Vi.MyBatis核心API测试
参数绑定
a)Mybatis代码中形参名与mapper文件中的#{}中的名字没有必然联系
b)Mapper文件中可以通过下标的形式,代表接口中的形参
c)多参数形式的查询解决方案
注意:在mybatis进行查询时,paramterType是可以省略的,不能随意指定#{},名字
1.可以通过下标的形式进行操作
2.@Param注解进行参数绑定(建议)
3.早期的使用方式
4.MyBatis中的CUD(增删改)
注意:在MyBatis应用的过程中,处理CUD时,必须要手工控制事务,否则操作不执行
sqlSession.commit();
sqlSession.rollback();
a)删除
b)修改
c)插入
Sequence序列进行主键插入[Oracle]