1、在数据库中新建User表
CREATE DATABASE `mybatis`
USE `mybatis`;
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` int NOT NULL,
`name` varchar(30) DEFAULT NULL,
`pwd` varchar(30) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;
insert into `user`(`id`,`name`,`pwd`)
values (1,'小明','123456'),(2,'小红','abcdef'),(3,'小李','987654'),(4,'小王','111111');
2、新建Maven项目
3、在pom.xml中导入对应依赖
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.29</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.10</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
<!--需要加上一下代码,把java文件夹下的配置文件加载进来-->
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>
4、新建如下包目录
在pojo中新建User类
package com.yinzi.pojo;
public class User {
private int id;
private String name;
private String pwd;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", pwd='" + pwd + '\'' +
'}';
}
}
5、编写mybatis-config.xml配置文件
在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="mysql">
<environment id="mysql">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=false&useUnicode=true&characterEncoding=utf8"/>
<!--根据自己的数据库的账号密码进行配置-->
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper class="com.yinzi.dao.UserMapper"/>
</mappers>
</configuration>
6、创建UserMapper接口及UserMapper.xml
在dao包下创建者者两个文件
UserMapper
public interface UserMapper {
List<User> userList();
}
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="com.yinzi.dao.UserMapper">
<select id="userList" resultType="user">
select * from USER ;
</select>
</mapper>
7、编写MybatisUtils工具类
在util包下创建
package com.yinzi.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;
public class MybatisUtils {
private static InputStream in;
private static SqlSession sqlSession;
static {
try {
in = Resources.getResourceAsStream("mybatis-config.xml");
} catch (IOException e) {
e.printStackTrace();
}
}
public static SqlSession getSqlSession(){
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
sqlSession = factory.openSession(true);
return sqlSession;
}
public static void close(){
try {
sqlSession.close();
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
8、编写测试类
public class MyTest {
private static SqlSession sqlSession;
@BeforeAll
static void getSqlSession(){
sqlSession = MybatisUtils.getSqlSession();
}
@AfterAll
static void close(){
MybatisUtils.close();
}
@Test
public void test(){
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
List<User> userList = mapper.getBlogList();
for (User user : userList) {
System.out.println(user);
}
}
}
大功告成~