是对JDBC封装的ORM框架,目的简化JDBC的操作
ORM:
O:对象 java中实体类的对象
R:数据库中的表
M:映射
特点:
1、半自动框架:需要编写SQL语句
2、依赖数据库
2、搭建mybatis的使用环境1、新建maven项目
2、添加依赖
org.mybatis
mybatis
3.4.6
mysql
mysql-connector-java
5.1.47
3、在resources目录新建xml配置文件
【说明】名字任意
dtd:文档类型定义,检查xml文件的内容是否正确
4、新建实体类
实体类的属性名最好和表中的列名一致,不区分大小写
确保有无参public的构造方法
5、mybatis基于接口的,创建接口
package com.qf.mybatis2103.dao;
import com.qf.mybatis2103.pojo.Emp;
public interface EmpDao {
//添加方法
public int addEmp(Emp emp);
}
6、编写接口所对应的映射文件
目前:resources下创建
insert into emp(empno,ename,addr,job) values (#{empNo},#{eName},#{addr},#{job})
7、在mybatis的配置文件中,配置映射文件
3、添加操作
package com.qf.mybatis2103.test;
import com.qf.mybatis2103.dao.EmpDao;
import com.qf.mybatis2103.pojo.Emp;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.IOException;
import java.io.InputStream;
public class TestAdd {
public static void main(String[] args) {
SqlSession sqlSession=null;
try {
//1、读取mybatis配置文件
InputStream inputStream= Resources.getResourceAsStream("mybatis-config.xml");
//2、创建SqlSessionFactory对象
//SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();
SqlSessionFactory factory=builder.build(inputStream);
//SqlSessionFactory的作用就是创建SqlSession
//SqlSession的作用:操作数据库
//3、创建SqlSession对象
sqlSession=factory.openSession();
//操作数据库
Emp wangYan=new Emp("qf001","王岩","辽宁省大连市","java开发工程师");
//通过sqlSession得到接口的实现类的对象
//mybatis利用jdk动态代理创建接口的实现类,继而创建对象
EmpDao empDao=sqlSession.getMapper(EmpDao.class);
//sqlSession执行的添加方法
int result=empDao.addEmp(wangYan);
//手动提交事务
sqlSession.commit();
System.out.println(result==1);
sqlSession.close();
inputStream.close();
} catch (IOException e) {
sqlSession.rollback();
e.printStackTrace();
}
}
}
【注意】insert upate delete 时需要提交事务:sqlSession.commit();
增删改查:见代码
4、优化配置mapper映射文件只能存放在resources下,换路径则不能找到
如果想存在其他位置:dao下
pom.xml
src/main/java *.xml **/*.xml true
优化2:把数据库的配置信息存放在单独的文件中
创建db.properties文件
mydriver=com.mysql.jdbc.Driver myurl=jdbc:mysql://localhost:3306/empsys?useUnicode=true&characterEncoding=utf-8 uname=root pwd=root
在mybatis的配置文件中引入这个,通常是配置的开始位置
使用${}获取properties中的name对应的值
优化3:设置实体类包的别名配置
内容总结:
1、ORM框架 mybatis框架的认知
2、搭建mybatis项目
3、mybatis的配置文件—记下来
4、使用过程:接口 mapper文件
5、mybatis的执行过程
6、配置的优化



