是一个ORM(对象关系映射框架)框架,实现程序和数据库交互的桥梁,M一款基于Java的持久层框架,它将SQL语句和Java代码分离开来,通过XML或注解进行配置,在编写Java代码时,只需要调用MyBatis的API就可以完成数据库操作。它提供了丰富的映射机制,支持自定义SQL查询,并且具有高级的缓存管理机制,可以显著提高数据库性能和开发效率
MyBatis的优点包括易于学习和使用、灵活性高、效率高、扩展性强等特点,被广泛应用于各种Java应用程序中。
MyBatis是一个流行的ORM框架,广泛应用于各种Java项目中
MyBatis提供了灵活的数据库访问方式,能够支持各种复杂的SQL查询
MyBatis提供了许多高级特性,如Batch批量操作、缓存机制、自动映射等,可以提高开发效率和程序性能
MyBatis基于XML或注解配置,能够支持自定义的SQL语句和参数映射
MyBatis底层基于jdbc
MyBatis是实现了程序和数据库之间的交互,让程序的类和数据库的表,类的属性和表中的字段进行映射,所以在搭建环境之前,我们需要添加一个表
-- 创建数据库
drop database if exists mycnblog;
create database mycnblog DEFAULT CHARACTER SET utf8mb4;
-- 使用数据数据
use mycnblog;
-- 创建表[用户表]
drop table if exists userinfo;
create table userinfo(
id int primary key auto_increment,
username varchar(100) not null,
password varchar(32) not null,
photo varchar(500) default '',
createtime timestamp default current_timestamp,
updatetime timestamp default current_timestamp,
`state` int default 1
) default charset 'utf8mb4';
-- 创建文章表
drop table if exists articleinfo;
create table articleinfo(
id int primary key auto_increment,
title varchar(100) not null,
content text not null,
createtime timestamp default current_timestamp,
updatetime timestamp default current_timestamp,
uid int not null,
rcount int not null default 1,
`state` int default 1
)default charset 'utf8mb4';
-- 创建视频表
drop table if exists videoinfo;
create table videoinfo(
vid int primary key,
`title` varchar(250),
`url` varchar(1000),
createtime timestamp default current_timestamp,
updatetime timestamp default current_timestamp,
uid int
)default charset 'utf8mb4';
-- 添加一个用户信息
INSERT INTO `mycnblog`.`userinfo` (`id`, `username`, `password`, `photo`, `createtime`, `updatetime`, `state`) VALUES
(1, 'admin', 'admin', '', '2021-12-06 17:10:48', '2021-12-06 17:10:48', 1);
-- 文章添加测试数据
insert into articleinfo(title,content,uid)
values('Java','Java正文',1);
-- 添加视频
insert into videoinfo(vid,title,url,uid) values(1,'java title','http://www.baidu.com',1);
MyBatis是基于Spring Boot项目的,在创建的时候添加MyBatis依赖就行
这里不仅要选择MyBatis的依赖,还要选择它连接的数据库的依赖,我们使用的是MySQL,所以添加MySQL的依赖
项目运行会报这样的错误,这是正常的,因为没有设置具体要连接 的MySQL的详细信息
设置数据库的连接信息
#设置数据库的连接信息
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/mycnblog?characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password==1111
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
设置Mybatis的保存格式和位置(xml路径)
#设置MyBatis的保存格式和路径
mybatis.mapper-locations=classpath:mybatis/*Mapper.xml
#配置打印 MyBatis 执行打印sql(可配可不配)
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
logging.level.com.example.demo=debug
MyBatis中接口定义方法,xml实现方法,Mapper.xml就是说文件名为这个的就是该接口的一个实现