1.ORM思想
对象关系映射(Object Relational Mapping,简称ORM):
是一种为了解决面向对象与关系型数据库存在的互不匹配的问题的技术。
简单的说,ORM通过使用描述对象和数据库之间映射的元数据,将Java程序中的对象自动持久化到关系数据库中。
ORM主要解决对象-关系的映射:
面向对象概念 面向关系概念
----------------------------------------------------
类 表
对象 表的行(记录)
属性 表的列(字段)
2.常见ORM框架
把对象数据库的操作封装成一套API,具有操作数据库增删改查等操作,而且具有独立性,当持久层技术层发生改变时,不用修改任何业务层代码
1.JPA:本身是一种ORM规范,不是ORM框架,由各大ORM框架提供实现
2.Hibernate:目前最流行的ORM框架。设计灵巧,性能优秀,文档丰富
3.MyBatis:目前最受欢迎的持久层解决方案
3.认识Mybatis
MyBatis是支持普通SQL查询,存储过程和高级映射的持久层框架,严格上说应该是个SQL映射框架。
其前身是iBatis。几乎所有JDBC代码和参数的手工设置以及结果集的处理都可以交给MyBatis完成。
4.开发准备
安装两个插件
依赖:
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
新建mybatis文件夹,里面有mapper文件夹以及主配置文件mybatis-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<properties resource="config/jdbc.properties"></properties>
<environments default="defaultEnvironment">
<environment id="defaultEnvironment">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driverClass}" />
<property name="url" value="${jdbc.jdbcUrl}" />
<property name="username" value="${jdbc.user}" />
<property name="password" value="${jdbc.password}" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="mybatis/mappers/UserMapper.xml" />
<mapper resource="mybatis/mappers/OrderMapper.xml" />
</mappers>
</configuration>
jdbc.properties
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.jdbcUrl=jdbc:mysql://localhost:3306/demo1
jdbc.user=root
jdbc.password=123456
映射文件主要是包含该对象的CRUD操作的配置和SQL
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="net.seehope.spring.mybatis.mapper.UserMapper">
</mapper>