1. 新建项目
首先在Idea中点击新建项目,在名称的位置随便起一个名字之后点击创建
然后你就能看到如下界面,当前的文件就是pom.xml配置文件
2. 在pom.xml导入坐标
在浏览器搜索Mybatis,进入Mybatis官方网站 直达官网 导入坐标,官网的这个需要放在dependencies这个标签里面 最开始是没有的,那么你需要新建一个dependencies标签,然后把dependency放在里面
在这里我们采用3.5.5的版本,或者如下直接粘贴我已经写好的
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.5</version>
</dependency>
</dependencies>
2.1 坐标显示为红色,点击刷新符号
如果显示为红色,那么说明你的本地空间并没有这个包
在整个代码的优上端会发现这样一个刷新符号,只需要点击一下,Maven就会去下载你没有的包
2.2 导入mysql和junit
如下,放在dependencies这个大标签里面,mysql采用5.1.46版本,junit采用4.11版本,如果显示红色,如上只需要点击刷新按钮等待即可
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.5</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.46</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
2.3 导入logback等日志包
把logback等日志包导入,放在dependencies这个大标签里面
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>2.0.3</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.4.4</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.4.4</version>
</dependency>
3. 在resources文件夹中导入配置文件
3.1 新建logback.xml文件,把内容粘贴到里面
在src文件夹下面的main文件夹下的resources文件夹右键新建一个文件logback.xml
整个项目当前的结构是这样的,下图所示的文件为我们新建的logback.xml
把下面的内容复制粘贴到logback.xml文件即可
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!--
CONSOLE :表示当前的日志信息是可以输出到控制台的。
-->
<appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>[%level] %blue(%d{HH:mm:ss.SSS}) %cyan([%thread]) %boldGreen(%logger{15}) - %msg %n</pattern>
</encoder>
</appender>
<logger name="com.itheima" level="DEBUG" additivity="false">
<appender-ref ref="Console"/>
</logger>
<root level="DEBUG">
<appender-ref ref="Console"/>
</root>
</configuration>
3.2 在resources文件夹下新建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">
<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>
3.2.1 修改数据库连接信息
把driver url username和password改为自己本机的数据库信息,修改value=引号里面的内容,第二个url里面///后面的mybatis是我的本机其中的一个数据库,需要你自己创建一个mybatis数据库
<dataSource type="POOLED">
<!-- 下面这四个内容改为自己本机数据库的信息-->
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql:///mybatis?useSSL=false"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
3.2.2 创建名为mybatis的数据库
打开终端,输入命令
mysql -u root -p
换行,然后输入密码,我的密码是root,你的我也不知道,然后进入之后
输入命令
show databases;
上图显示我已经有一个数据库名为mybatis,如果你没有输入命令,这句
create database if not exists mybatis;
3.3 创建UserMapper.xml映射配置文件
在resources文件夹下新建一个UserMapper.xml映射配置文件
然后在官网找到对应的内容粘贴到里面
<?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="org.mybatis.example.BlogMapper">
<select id="selectBlog" resultType="Blog">
select * from Blog where id = #{id}
</select>
</mapper>
3.3.1 修改Mapper里面的namespace命名空间
把原来的org.mybatis.example.BlogMapper改为test
3.3.2 创建pojo
POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans。
在main文件夹下的java文件夹下创建类com.cumt.pojo.User,这个类里面,以后我们会根据数据库一一对应创建里面的数据类型
3.3.3 在Mapper.xml修改id和resultType
在id里写selectAll,以后我们将靠selectAll找到这个sql并执行,如果是查询那么返回会有一个类型,使用resultType来表明返回类型,resultType填入我们刚才创建User类的地址
3.3.4 在mybatis-config.xml这个配置文件中修改mapper内容
回到mybatis-config.xml这个文件,修改mapper标签里面的resource,修改为UserMapper.xml
4. 创建user表
首先使用命令
use mybatis;
进入我们刚创建好的mybatis数据库
在这个数据库下,创建tb_user这张表,如果已经存在,那么删除原来表
drop table if exists tb_user;
创建表的指令
create table tb_user (
id int primary key auto_increment,
username varchar(20),
password varchar(20),
gender char(1),
address varchar(30)
);
接下来在这个表中插入数据
insert into tb_user(username, password, gender, address)
values ('zhangsan', '123', '男', '北京'),
('lisi', '234', '男', '武汉'),
('wangwu', '456', '女', '青岛');
接下来先查询一下数据,看是否插入成功
select * from tb_user;
如上图,说明成功插入数据
5. 编写pojo
根据上图的表格,我们知道一个user里面有五个属性,我们依次在User这个pojo里面创建这五个变量
这里面的变量名最好与数据库中表格的名称相同
5.1 快捷插入getter和setter方法,重写toString
按住快捷键ALT + INS,插入getter和setter
Ctrl + A快捷键,选择全部属性,然后点击确定
用相同的快捷键ALT + INS选择toString,这样就能快捷重写toString方法
6. 编写Demo,成功运行示例
右键java这个文件夹,点击新建一个java类,名字叫做com.cumt.MyBatisDemo
创建Demo之后的文件结构如下图
6.1 从官网获取SqlSessionFactory文件
在官网的快速入门里找到下图的java代码,直接粘贴到main函数内
Idea报了很多错,对于每一个报错的地方,把鼠标悬于上方,然后点击导入类即可
这个红色波浪线,点击添加异常到方法签名就可以了
最后处理完红色的代码如下
package com.cumt;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.IOException;
import java.io.InputStream;
public class MyBatisDemo {
public static void main(String[] args) throws IOException {
String resource = "org/mybatis/example/mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
}
}
6.2 修改resource
把我们写好的mybatis-config.xml的地址赋值给resource
6.3 获取SqlSession对象
6.4 用sqlSession执行sql语句
这里面selectList里面填写的内容,前面是命名空间test,点后面的我们定义的sql的id,会返回一个List,在泛型里面填入User类型
6.5 输出sql获得的结果并关闭资源
如果你跟着我的步骤一步一步过来的话,应该也能成功运行