MyBatis-1

ORM:Object Relationship Mapping 对象关系映射

面向对象的编程

public class Orders{
    private Integer id;
    private Double cost;
}

public class User{
    private Integer id;
    private String name;
    private List<Orders> orders;
}

Orders orders = new Orders(1,6000);
Orders orders2 = new Orders(1,3000);

User user = new User(1,"小红");
user.setOrders(Arrays.asList(orders,orders2));

关系型数据库,通过主外键约束完成表之间的关联

Java 完成业务逻辑,数据需要持久化到 DB

Java 到数据库的数据存取需要进行转换,将面向对象方式转成面向关系的方式,这种转换就是映射,这就是 ORM。

MyBatis(MyBatis Plus)、Hibernate、Spring Data JPA 是 Java 领域 ORM 方式的主流实现框架。

Hiernate 和 Spring Data JPA (底层就是 Hibernate 实现)是全自动化的 ORM 框架,不需要做任何的操作,就可以获取到结果。

MyBatis 是半自动化的 ORM 框架。

全自动就意味着扩展性,个性化,灵活性较差,半自动化就意味灵活性更好,互联网项目需求迭代较快,MyBatis 很适合互联网项目。

JDBC 开发

1、加载驱动

2、配置各种参数 url、Driver class、root、password

3、获取 Connection

4、定义 SQL

5、使用 Statement 进行查询

6、ResultSet 需要手动解析

7、释放资源

MyBatis 使用

1、创建 Maven 工程

lombok 插件,可以帮助我们生成实体类中的 getter、setter、toString、构造...

IDEA 中使用 Lombok 需要安装插件

2、创建实体类

3、创建配置文件,名字可以自定义。

4、开发,Mapper 代理实现自定义接口

使用 MyBatis 框架,开发者只需要定义接口即可,不需要自己实现,由 MyBatis 通过 Mapper 代理机制自动帮助我们创建接口的实现类,并且创建接口的实例化对象。

5、在 config.xml 中注册 Mapper.xml

6、使用

常见错误

  • Mapper.xml 找不到,pom.xml 配置让 Maven 可以读取 java 路径下 XML 文件。

  • Mapper.xml 中的 namespace 必须和接口的全类名保持一致。

  • Mapper.xml 中的 statement 的 id 值必须和接口方法一致。

  • Mapper.xml 必须在 mybatis-config.xml 中进行注册。

打印 SQL

Last updated