ORM框架
ORM全称为Object Relational Mapping,关系对象映射,就是将数据表中的一行数据与对象对应起来。
ORM框架提供了持久化类与表的映射关系,运行时把对象持久化到数据库中
Mybatis
Mybatis的前身是iBatis,是一个Java持久层框架。iBatis提供包括了SQL Maps 和 Data Access Objects(DAOs)
Mybatis的使用
在数据库中创建student表
USE mybatis; //创建student表 CREATE TABLE student ( id INT PRIMARY KEY auto_increment not null, name VARCHAR(255), age INT, address VARCHAR(255), email VARCHAR(255) ); //插入数据 INSERT INTO mybatis.student (id, name, age, address, email) VALUES (1, '张三', 20, '北京', 'zhangsan@example.com'); INSERT INTO mybatis.student (id, name, age, address, email) VALUES (2, '李四', 21, '成都', 'afsdfsd@example.com'); INSERT INTO mybatis.student (id, name, age, address, email) VALUES (3, '王五', 45, '上海', 'safsdfgg@example.com'); INSERT INTO mybatis.student (id, name, age, address, email) VALUES (4, '零六', 23, '杭州', '23fdsgaga@example.com'); INSERT INTO mybatis.student (id, name, age, address, email) VALUES (5, '二狗子', 63, '深圳', 'sdfsdfooo@example.com');
一、创建工程
<!-- Mybatis的包 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.13</version>
</dependency>
<!-- JDBC的包 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.33</version>
</dependency>
二、创建配置文件
在resources目录下创建config.xml
Mybatis支持properties文件的引入,这样做的目的就是为了区分配置:不同的文件中描述不同的配置,这样方便管理。
建立jdbc.properties
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis?serverTimezone=Asia/Shanghai
jdbc.username=root
jdbc.password=123456
在config.xml文件中引入
注意:mybatis的配置文件的标签必须按照顺序配置,否则会报错
配置顺序:properties, settings, typeAliases, typeHandlers, objectFactory, objectWrapperFactory, reflectorFactory, plugins, environments, databaseIdProvider, mappers
<?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="jdbc.properties"/>
<typeAliases>
<!--这里是针对整个包中的类取别名, 别名就是类名,不区分大小写-->
<package name="cn.cnmd.pojo"/>
</typeAliases>
<!--environments代表环境,可以包含多个,比如开发环境、测试环境、生产环境-->
<environments default="dev">
<environment id="dev">
<!--事务管理器,一般默认JDBC-->
<transactionManager type="JDBC"/>
<!--数据源,一般默认是POOLED-->
<dataSource type="POOLED">
<!--1.3配置连接池需要的参数-->
<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="mapper/studentMapper.xml"/>
</mappers>
</configuration>
在resources/mapper目录下创建studentMapper.xml
<?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">