1.什么是Mybatis
一种持久层的框架,类似于JDBC访问数据库的操作
jdbc使用的是Connection对象,PreparedStatement对象,ResultSet对象
而mybatis框架的核心对象有SqlSessionFactoryBuilder对象和SqlSessionFactory对象和SqlSession对象等,并且mybatis框架较为灵活
2.为什么使用框架:
通过框架来制定开发规范,更进一步保证所有的开发人员能够快速编写统一的代码,让开发人员专注于业务实现
3.常用框架技术
3.1 Spring
Spring是一个J2EE的框架,这个框架提供了对轻量级IOC的良好支持,同时也提供了对AOP技术非常好的封装,相比于其他的框架,Spring框架的设计更加模块化,框架内的每个模块都能完成特定的工作,而且各个模块可以独立的运行,不会相互的前置,因此,在使用Spring框架的时候,我们可以使用整个框架,也可以使用框架中的一部分
主要学习:
IOC:控制反转---DI(依赖注入),spring容器化管理,取代new对象
AOP:面向切面,专门的人做专门的事
3.2 SpringMVC
Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把Model,View,Controller分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间的配合。
3.3 Mybatis
Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。程序员直接编写原生态sql,可以严格控制sql执行性能,灵活度高
3.4Mybatis组成部分
核心对象:
SqlSessionFactoryBuilder; 用于生成SqlSessionFactory
SqlSessionFactory; 用于生成SqlSession
SqlSession; 用于执行sql语句
配置文件:
核心配置文件:mybatis-config.xml
sql映射文件:映射实体类和数据库中的表
4.mybatis小工程
4.1创建数据库:
CREATE TABLE `t_person` (
`id` int(32) NOT NULL AUTO_INCREMENT,
`name` varchar(32) DEFAULT NULL,
`nickname` varchar(32) DEFAULT NULL,
`age` int(32) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
INSERT INTO `t_person` VALUES ('1', 'zs', 'zz', '3');
INSERT INTO `t_person` VALUES ('2', 'lisi', 'll', '4');
INSERT INTO `t_person` VALUES ('3', 'wangwu', 'ww', '5');
创建一个数据库
4.2创建一个maven工程
包的结构路径,在src下面创建一个test文件夹,里面创建一个java文件夹,(test和main同级)设置为test类型
main中,和webapp同级的创建两个文件夹,一个java,一个resources,java设置问java文件夹,resources为资源文件夹
然后再java文件夹中创建包结构,域名.组织域名.工程名.包名。例如:cn.kgc.mybatis.entity实体类包
4.3加入依赖:
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.1</version>
</dependency>
mybatis jar包依赖
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.36</version>
</dependency>
mysql 依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
<scope>provided</scope>
</dependency>
4.4修改工程环境:
某些环境不更改,可能不会出现问题,可能和自己的环境有关
在pop.xml文件中将1.7修改成1.8
在project Structure中修改