学习MyBatis框架之前,先来了解一下什么是框架?
框架,其实就是软件的半成品,完成了软件开发过程中的通用操作,开发人员只需要很少或者不用进行加工就能实现特定的功能,从而简化开发人员在开发过程中的步骤,提高开发效率。
常用的框架:
- MVC框架:简化Servlet的开发步骤
- Struts
- Struts2
- SpringMVC
- 持久层框架:完成数据库操作的框架
- Apache DBUtils
- Hibernate
- Spring JPA
- MyBatis
- 胶水框架:Spring
SSM Spring + SpringMVC + MyBatis
SSH Spring + Struts2 + Hibernate
MyBatis介绍
MyBatis是一个半自动的ORM框架
ORM(Object Relation Mapping)对象关系映射,将Java中的一个对象与数据表中一行记录一一对应。
ORM框架提供了实体类与数据表的映射关系,通过映射文件的配置实现对象的持久化。
MyBatis的特点:
- 支持自定义的SQL、存储过程
- 对原有的JDBC进行封装
- 支持XML和注解配置方式自定义完成ORM操作,实现结果映射
MyBatis框架在IDEA中部署
框架部署,就是将框架引入到项目中
创建Maven工程:Java/web都可以
下面演示创建Java工程:
创建好的Java项目结构
在项目中添加Maven依赖(jar包)
在pom.xml文件中添加依赖(myBatis、mysql driver)
org.mybatis mybatis3.5.6 mysql mysql-connector-java5.1.47
创建MyBatis配置文件
- 在resource中创建名为mybatis-config.xml的文件
- 在mybatis-config.xml文件中配置数据库连接信息
MyBatis框架使用
创建数据表:
创建实体类;
创建DAO接口,定义操作方法
public interface StudentDAO {
//添加
public int insertStudent(Student student);
//删除
public int deleteStudent(String stuNum);
}
创建DAO接口的映射文件
在resource目录下,新建名为mappers文件夹
在mappers中新建名为StudentMapper.xml的映射文件
在映射文件中对DAO定义的方法实现
insert into tb_students(stu_num,stu_name,stu_gender,stu_age) value (#{stuNum},#{stuName},#{stuGender},#{stuAge}) delete from tb_students where stu_num=#{stuNum}
将映射文件添加到主配置文件中
创建单元测试类
添加单元测试依赖
junit junit4.12 test
创建单元测试类
添加测试代码
public class StudentDAOTest {
@org.junit.Test
public void insertStudent() {
try {
//加载mybatis配置文件
InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
//会话工厂
SqlSessionFactory factory = builder.build(is);
//会话连接
SqlSession sqlSession = factory.openSession();
//通过会话获取DAO对象
StudentDAO studentDAO = sqlSession.getMapper(StudentDAO.class);
//测试StudentDAO中的方法
int i = studentDAO.insertStudent(new Student(0,"10001","张三","男",21));
//需要手动提交
sqlSession.commit();
System.out.println(i);
} catch (IOException e) {
e.printStackTrace();
}
}
}



