1初识框架
MyBatis:解决数据的持久问题的框架
Spring MVC:解决web层问题的MVC框架
Sping框架:解决技术整合问题的框架
Spring Boot:简化Spring的配置(快速搭建脚手架)
Spring Cloud:利用Spring Boot简化了分布式系统的开发(对Spring Boot进行再封装)
Sping:为pojo(bean)对象提供企业级服务
Spring MVC:web开发框架,Spring MVC作为控制器实现模型与视图的数据交互
MyBatis:在实体类和sql语句间建立映射关系
2搭建Mybatis环境
步骤:
创建工程-》引入依赖-》数据库准备-》写数据库连接信息配置文件-》写核心配置文件和映射文件
创建工程-》引入依赖-》数据库准备-》写数据库连接信息配置文件-》写核心配置文件和映射文件
![](https://i-blog.csdnimg.cn/blog_migrate/c5a3a96e743dadc3175b0cfe18e77ea5.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c09f5b662dbfe5c8b347c7681f1c3a2b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/bb4929ba596886eba2959fcedda93381.png)
创建工程-》引入依赖-》数据库准备-》写数据库连接信息配置文件-》写核心配置文件和映射文件
MyBatis官方网站:https://mybatis.net.cn/getting-started.html
打开pom.xml
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.11</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
<scope>runtime</scope>
</dependency>
</dependencies>
![](https://i-blog.csdnimg.cn/blog_migrate/79593d8cae39432179149e7fcb633179.png)
创建工程-》引入依赖-》数据库准备-》写数据库连接信息配置文件-》写核心配置文件和映射文件
。。。
创建工程-》引入依赖-》数据库准备-》写数据库连接信息配置文件-》写核心配置文件和映射文件
建立db.properties文件
![](https://i-blog.csdnimg.cn/blog_migrate/f8f41190934855a5e49564d1c411b30d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b69749ece7028714b36a9c28eb6c9cd2.png)
driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis?
serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false
username=root
password=123
创建工程-》引入依赖-》数据库准备-》写数据库连接信息配置文件-》写核心配置文件和映射文件
建立mybatis-config.xml
![](https://i-blog.csdnimg.cn/blog_migrate/24177a460690681e481627910b43d7d1.png)
<?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>
<!-- 引入外部db.properties -->
<properties resource="db.properties"/>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="org/mybatis/example/BlogMapper.xml"/>
</mappers>
</configuration>
3MyBatis入门程序
3.1数据准备
create database mybatis charset=utf8;
use mybatis;
create table users(
uid int primary key auto_increment,
uname varchar(20) not null,
uage int not null
);
insertinto users(uid,uname,uage)values(null,'张三',20),(null,'李四',18);
3.2创建POJO实体:
在项目src/main/java目录下创建com.XXX.pojo包在该包下创建User类,此类用于封装User对象的属性
3.2.1连接数据库
![](https://i-blog.csdnimg.cn/blog_migrate/6fd013252334a8623b13f9cd1fe5060e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/258b8aa9c21be854ef1519a9f28362c6.png)
![](https://i-blog.csdnimg.cn/blog_migrate/731bf4e2678d110f132244e2598ed600.png)
3.2.2创建pojo
![](https://i-blog.csdnimg.cn/blog_migrate/c1ba95a66c0622d3b7f784a72bb86d9d.png)
将创建好的pojo放到
![](https://i-blog.csdnimg.cn/blog_migrate/85a8ebcda64aa89a5618a9553511e319.png)
3.2.3创建映射文件UserMapper.xml
在项目src/mian/resources目录下创建一个文件,在mapper文件夹下创建映射文件UserMapper.xml,该文件主要用于实现sql语句和Java对象之间的映射,使sql语句查询出来的关系型数据库能被封装成Java对象。
<?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="com.lhy.Users">
<select id="findById" parameterType="int"
resultType="com.lhy.Users">
select * from users where uid = #{id}
</select>
</mapper>
![](https://i-blog.csdnimg.cn/blog_migrate/f968e30511b5ef802c5c8c9d25d27b49.png)
3.2.4修改mybatis-config.xml
在该文件中添加UserMapper.xml映射文件路径的配置,用与将UserMapper.xml映射文件加载到程序中。
![](https://i-blog.csdnimg.cn/blog_migrate/266a4a6dd64aa2c9cc1267a5015f3f17.png)
注意:一个项目有多个映射文件,则mybatis-config.xml核心配置文件需要在<mappers>元素下配置多个<mapper>元素指定文件的路径。
3.2.5编写测试类
package com.lhy.test;
import com.lhy.Users;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;
import java.io.IOException;
import java.io.Reader;
public class UserTest {
@Test
public void userFindByIdTest() {
// 配置文件
String resources= "mybatis-config.xml";
Reader reader = null;
try {
// 读取mybatis-config.xml文件内容到reader对象中
reader=Resources.getResourceAsReader(resources);
} catch (IOException e) {
e.printStackTrace();
}
// 创建sqlSessionFactory工厂对象
SqlSessionFactory sqlMapper=new SqlSessionFactoryBuilder().build(reader);
// 创建sqlSession对象
SqlSession session=sqlMapper.openSession();
// 执行sql语句,sql语句唯一标识:namespace.statemtId
Users user=session.selectOne("findById", 2);
System.out.println(user.getUname());
System.out.println(user);
session.close();
}
}
![](https://i-blog.csdnimg.cn/blog_migrate/d0c2c59b9e782fab639973447ffbf165.png)
可能出现的问题:
Cannot find class: com.mysql.cj.jdbc.Driver
1.xml映射
2.driver写错
3.测试代码下错误。
4.依赖(检查自己的MySQL驱动是版本多少,pom.xml中配置的版本应该和自己的MySQL一致
我是实用主义者,能用就行,技术更新那么快,会用就好