idea中创建Mybatis项目
从maven中创建一个普通的项目
点击next出现
将红色箭头指向的取号名字 第一个和第三个是相同的 第二个是域名后置
点击finish
这是它的目录结构
点击pom.xml将mybatis的依赖导入
<dependencies>
<!-- 这个是mysql驱动 这个要和自己的mysql 版本对应 我的mysql是 8.0.23-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.23</version>
</dependency>
<!--这个是mybatis依赖-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.3</version>
</dependency>
<!--这个是简化实体类的编写-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.18</version>
<scope>provided</scope>
</dependency>
<!--这个是日志工厂-->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
导入依赖成功之后我们就开始了Mybatis的旅程了
- 第一步首先打开官方网站https://mybatis.net.cn/
- 第二步在
resource的目录下创建一个mybatis-config.xml的文件
打开官方文档
将这段话拷贝进mybatis-config.xml这个文件中
<?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>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<!--这个driver 是连接数据库的驱动-->
<property name="driver" value="${driver}"/>
<!--这个url是连接数据库的url
格式为 jdbc:mysql://localhost:3306/book?useUnicode=true&useSSL=true&serverTimezone=Asia/Shanghai
-->
<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>
第二步在resources中 创建 config.properties 这个文件
里面存放的是
driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/book?useUnicode=true&useSSL=true&serverTimezone=Asia/Shanghai
username=root
password=root
第三步 在mybatis-config.xml文件中
<?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>
<!--引入外部配置文件-->
<properties resource="config.properties"></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>
<package name="com.ibm.dao"/>
</mappers>
</configuration>
使用resources 标签引入外部的配置文件 配置数据库
这样 我们使用mybatis连接数据库的基本就配置好了
- 我们在java这个包中创建包 编写一个 MybatisUtil类 用来返回一个sqlsession 对象
package com.ibm.utils;
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 java.io.IOException;
import java.io.InputStream;
/**
* @author 郑朝文;
* @Description
* @creat 2021-03-20--10:37;
*/
public class MybatisUtil {
private static SqlSessionFactory sqlSessionFactory ;
static {
// 通过 Resources 获取 mybatis-config.xml 配置文件的信息 得到输入流
InputStream resourceAsStream = null;
try {
resourceAsStream = Resources.getResourceAsStream("mybatis-config.xml");
} catch (IOException e) {
e.printStackTrace();
}
// 创建 SqlSessionFactoryBuilder 对象
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
// 通过 sqlSessionFactoryBuilder 对象 调用 build() 方法 创建对应的 SqlSessionFactory 对象
/**
* 获取到 sqlSessionFactory 这个对象就可以得到 一个 sqlSession
*/
sqlSessionFactory = sqlSessionFactoryBuilder.build(resourceAsStream);
}
/**
* 通过这个方法返回一个sqlsession 对象
* @return
*/
public static SqlSession getSqlSession(){
return sqlSessionFactory.openSession();
}
}
编写一个测试类 调用getSqlSession()这个方法 我们就可以通过 Mybatis
连接到数据库了
Mybatis连接数据库的问题
- 在Mybatis连接数据库的时候,新的Mysql 版本要设置时区 要在url的后面添加时区 jdbc:mysql://localhost:3306/book?useUnicode=true&useSSL=true&serverTimezone=Asia/Shanghai
serverTimezone=Asia/Shanghai 这个就是用来设置时区的 - 出现xml文件找不到的情况 需要在pom.xml中配置一下信息
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>
写入之后要刷新maven然后再点击clean ,这样就可以解决 配置文件导入不了的问题了