Mybatis(总结)
1.简介
1.1什么是Mybatis
1.MyBatis 是一款优秀的持久层框架。
2.它支持定制化 SQL、存储过程以及高级映射。
3.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。
4.MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO为数据库中的记录。
1.2持久化
持久化就是将程序的数据在持久状态和瞬时状态相互转化的过程
1.3持久层
Dao层:持久层
Service:业务操作
Controller层:接收用户的请求,并把请求转发给业务层做
1.4Mybatis的作用
1.将数据存入到数据库中
2.方便
3.传统的JDBC代码太复杂。对其进行简化
1.5Mybatis优点
1.简单易学
2.灵活
3.sql和代码的分离,提高了可维护性
4.提供映射标签,支持对象与数据库的ORM字段关系映射
5.提供XML标签,支持编写动态sql
2.搭建Mybatis程序的步骤
2.1搭建数据库
CREATE DATABASE /*!32312 IF NOT EXISTS*/`booksys` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */;
USE `booksys`;
/*Table structure for table `author` */
DROP TABLE IF EXISTS `author`;
CREATE TABLE `author` (
`authorid` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(10) NOT NULL,
`concat` varchar(100) DEFAULT NULL,
`birtday` date DEFAULT NULL,
PRIMARY KEY (`authorid`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*Data for the table `author` */
insert into `author`(`authorid`,`name`,`concat`,`birtday`) values
(1,'张孝祥','北京海淀区','2021-11-02'),
(2,'诸葛亮','西安市长安中路','2021-09-07'),
(3,'曹操','河南洛阳市',NULL);
/*Table structure for table `book` */
DROP TABLE IF EXISTS `book`;
CREATE TABLE `book` (
`bookid` int(6) unsigned zerofill NOT NULL AUTO_INCREMENT,
`bookname` varchar(100) NOT NULL,
`price` float DEFAULT NULL,
`sortname` varchar(50) DEFAULT NULL,
`summary` varchar(200) DEFAULT NULL,
`pubDate` date DEFAULT NULL,
`pubcom` varchar(60) DEFAULT NULL,
`authorid` int(11) DEFAULT NULL,
PRIMARY KEY (`bookid`),
KEY `fk_book_author` (`authorid`),
CONSTRAINT `fk_book_author` FOREIGN KEY (`authorid`) REFERENCES `author` (`authorid`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*Data for the table `book` */
insert into `book`(`bookid`,`bookname`,`price`,`sortname`,`summary`,`pubDate`,`pubcom`,`authorid`) values
(000001,'Java实战',56,'技术开发',NULL,'2022-03-02','文都智链',1),
(000002,'JavaWeb入门到提高',66,'开发',NULL,'2022-03-01','文都智链',2),
(000003,'MySQL实战',64,'数据库',NULL,'2022-03-03','电子出版社',1),
(000004,'Mybatis实践开发',54,'框架',NULL,'2021-08-05','清华出版社',1);
2.2新建项目
1.新建一个普通的maven项目
2.导入maven依赖
<dependencies>
<!--mysql驱动-->
<dependency>