一、Mybatis简介
MyBatis 源于 Apache 的一个开源项目 iBatis,而 iBatis 一词则来源于“internet”和“abatis”的组合,2010年这个项目由 Apache Software Foundation 迁移到了 Google Code,并且改名为MyBatis ,2013年11月其又迁移到 Github。MyBatis 是一个基于 Java 的支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架,相比于基于面向对象使用 HQL 语言的 Hibernate 框架,MyBatis 则基于 SQL 面向结果集,因此其效率更高。
官方文档:https://mybatis.org/mybatis-3/zh/index.html
Mybatis就是对于JDBC的封装!!!
二、开发步骤(仅以select * 为例)
1、导包:https://mvnrepository.com/artifact/org.mybatis/mybatis
以3.5.4版本为例,
mybatis-3.5.4.jar
mysql-connector-java-8.0.19.jar
2.编写实体类:
a、mybatis在操作数据库时,表的字段名最好与pojo类的属性名保持一致,因为mybatis默认采用的是自动映射,通过过去字段的名字得到对应的值,然后再通过反射到类里面寻找名字相同的属性名,调用对应的setter方法将数据赋值给属性
b、如果字段名与属性名不一致可以通过sql语句给查询的字段取别名,但是别名必须与对应的属性名一致
public class User {
private int id; //id
private String account; //账号
private String password; //密码
}
3.创建mybatis-config.xml配置文件
注意:该xml文件应该放在src文件下
该配置文件用于存放数据库连接相关数据
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
value="jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC" /> <!--esource="存放sql语句的xml详细地址"--> 4.创建UsersMapper.xml文件 注意:新建mapper包,并将UsersMapper.xml放在mapper文件下
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> select * from mall_user 5.创建测试类 public class MybatisTest { public static void main(String[] args) throws IOException { //自动到src下找配置文件 InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml"); //创建工厂 SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream); //创建session:底层就是利用statement对象来操作数据库 SqlSession session =factory.openSession(); //直接利用session来执行sql进行查询 List //遍历 selectList.forEach(e->System.out.println(e.toString())); //关闭statement connection session.close(); } } mybatis执行逻辑 a:首先通过输入流读取mybatis.xml与mapper.xml文件中的配置信息 b:创建session,一个session就是一次会话 c:通过selectList方法中的参数找到对应的sql语句,同时创建一个statement去查询数据库 d:查询时会得到一个ResultSet,mybatis框架根据反射自动的将得到的数据封装成pojo类对象 e:如果是selectList方法,则会自动将这些对象封装成List对象并返回 6.执行结果: