1.新建项目
第一步,新建一个工程
2.创建一个maven项目,这里的依赖选择快速启动(quickstart)
3.在pom文件导入必要依赖,注意放在
<dependencies></dependencies>
里面
<!--添加Mybatis框架的依赖-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.2</version>
</dependency>
<!--添加mysql的依赖-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.48</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.24</version>
</dependency>
4.在main下面创建resource,如果下面没有三条杠,就右键,标志成resource文件夹
5.创建pojo包,在下面创建实体类User.java
package pojo;
import lombok.Data;
@Data
public class User {
private int u_id;
private String u_name;
private String u_pwd;
}
6.在resources下面写配置文件sqlMapConfig.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="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=false&useUnicode=true&characterEncoding=UTF-8"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="UserMapper.xml"></mapper>
</mappers>
</configuration>
<!--注册mapper.xml文件-->
7.写mapper文件UserMapper.xml放在resource下
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="test">
<!--
完成查询全部学生的功能
List<User> getAll():
resultType: 指定查询结果返回的结果集的类型,如果是集合,则必须使泛型的类型
parameterType: 如果有参数,则通过它来指定参数的类型
-->
<select id="getAll" resultType="pojo.User">
select * from users
</select>
</mapper>
这里有个爆红,没关系
8.写测试类Mytest.java
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 pojo.User;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
public class MyTest {
@Test
public void testA() throws IOException {
// 使用文件流读取核心配置文件sqlMapConfig.xml
InputStream in = Resources.class.getResourceAsStream("/SqlMapConfig.xml");
// 创建SqlSessionFactory工厂
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
// 取出sqlSession的对象
SqlSession sqlSession = factory.openSession();
// 完成查询操作
List<User> list = sqlSession.selectList("test.getAll");
System.out.println(list);
// 关闭sql
sqlSession.close();
}
}
到这里mybatis代码已经结束,再附加一个建库代码,建立一个库叫mybatis
/*
Navicat Premium Data Transfer
Source Server : localhost_3306
Source Server Type : MySQL
Source Server Version : 50738
Source Host : localhost:3306
Source Schema : mybatis
Target Server Type : MySQL
Target Server Version : 50738
File Encoding : 65001
Date: 07/12/2022 09:38:20
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for users
-- ----------------------------
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
`u_id` int(20) NOT NULL,
`u_name` char(20) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,
`u_pwd` char(20) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,
PRIMARY KEY (`u_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_bin ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of users
-- ----------------------------
INSERT INTO `users` VALUES (1, 'zs', '123456');
INSERT INTO `users` VALUES (2, 'ls', '456789');
INSERT INTO `users` VALUES (3, 'ww', '789123');
SET FOREIGN_KEY_CHECKS = 1;
整个项目结构