一、MyBaits简介
1.1框架简介
框架就是软件的半成品,完成了软件开发啊过程中的通用操作,程序员只需要很闪或者不用进行加工就能实现特定的功能,简化开发人员在软件开发中的步骤。
1.2常用框架
- MVC框架:简化了Servlet的开发步骤 、获取数据到前端
- Structs2
SpringMVC
- 持久层框架:完成数据库操作的框架,替代了JDBC的作用
- apache DBUtils
- Hibernate
- Spring JPA
MyBatis
- 胶水框架:
Spring
SSM : Spring SpringMVC MyBatis
SSH : Spring Struct2 Hibrnate
1.3 MyBaits介绍
MyBatis是一个 ‘半自动’ 的 ‘ orm ’ 框架
Hibrnate 是全自动框架
ORM (Object Relational Mapping)对象关系映射,将java中的一个对象与数据库表中一行的记录一一对应
ORM框架提供了实体类与数据表的映射关系,通过映射文件的配置,将对象保存到数据库表中,实现对象的持久化。
- MyBatis的前身是iBatis
- 特点:
- 支持自定义sql 、存储过程
- 对原有jdbc封装,消除了所有JDBC代码、让开发者关注sql本身
- 支持xml和注解配置方式自动完成orm操作,时间结果映射
二、框架部署
框架部署,就是将框架引入到项目中
2.1创建Maven项目
用在java工程
也可以用在web工程
2.2添加MyBatis依赖
-
在pom.xml中添加依赖
-
mybatis
-
mysql.driver
mysql mysql-connector-java 5.1.47 org.mybatis mybatis 3.4.6
-
2.3创建mybatis配置文件
-
创建自定义模板
- 右键resources 选择new 选择edit file Templates
-
在mybatis-config文件中配置数据库连接信息
-
配置mysql配置文件
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.1//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!-- 一个environment中可以定义多个enviroment--> <environments default="mysql1"> <environment id="mysql"> <!-- 用于配置配置数据库管理方式--> <transactionManager type="JDBC"></transactionManager> <!-- 用来配置数据库连接信息--> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="url:mysql://localhost:3306/db4?characterEncoding=utf-8"/> <property name="username" value="root"/> <property name="password" value="admin"/> </dataSource> </environment> </environments> </configuration>
三、MyBatis框架使用
案例: 学生数据表
3.1创建学生数据库
tb_student;
3.2创建student实体类
package com.ccl.domain;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
/**
* @author: 13749
* @date: 2021/10/5 16:55
* @description:
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class Student {
private Integer id;
private String stu_num;
private String stu_name;
private String stu_gender;
private Integer age;
}
3.3创建dao接口定义操作方法
public interface StudentDao {
public int insertStudent(Student student);
public int deleteStudent(String stuNum);
}
3.4创建dao接口的映射文件
-
在resources目录下,新建名为mappers的文件加
-
在mappers中新建名为MaBatisMapper.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"> <mapper namespace=""> </mapper>
-
在映射文件中对dao中定义的方法进行实现
<?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 文件相当于dao接口的实现类,namespace属性要指定实现dao的全限定名--> <mapper namespace="com.ccl.dao.StudentDao"> <insert id="insertStudent" parameterType="com.ccl.domain.Student"> insert into tb_student values(null,#{stu_num},#{stu_name},#{stu_gender},#{stu_age}) </insert> <delete id="deleteStudent"> delete from tb_student where stu_num = #{stu_num} </delete> </mapper>
3.5映射文件添加到主配置文件
<mappers>
<mapper resource="mappers/MyBatisMapper.xml"></mapper>
</mappers>