准备:
需要提前安装好以下工具软件
(1) IDEA 2021
(2)Java 1.8
(3)数据库 MySQL 5.7 (SQLyog 或 Navicat)
(4)SQL yog 或 Navicat (用于操作MySQL数据库)
步骤:
1 在 MySQL 中创建数据库 mybatisdemo,编码为 utf8
2 新建表:
USE mybatisdemo
CREATE TABLE users(
uid INT PRIMARY KEY AUTO_INCREMENT,
uname VARCHAR(20) NOT NULL,
uage INT NOT NULL
);
INSERT INTO users(uid,uname,uage) VALUES(NULL,'张##',25),(NULL,'李##',23),(NULL,'王##',23);
3 IDEA 创建 maven工程, 点击 File 菜单 -- New 菜单-- Project
选择 Maven -- Project SDK 1.8
New Project,输入 Name, 选择 Location,输入 GroupId
选择 This Window
完成之后如下图所示:
4 在 src - main - java 下新建 package, 名字为 com.mybatisdemo.pojo
在 com.mybatisdemo.pojo 中新建实体类 User.java
使用IDEA,其中的 set 和 get 可以快速生成。
package com.mybatisdemo.pojo;
public class User {
private int uid; //用户id
private String uname; //用户姓名
private int uage; //用户年龄
public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
public int getUage() {
return uage;
}
public void setUage(int uage) {
this.uage = uage;
}
}
5 在 src - main - resources 下新建文件夹 mapper
在 src - main - resources - mapper 下建文件 UserMapper.xml (映射文件)
PUBLIC "-//mybatis.org//DTD mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
6 在 src - main - resources 下新建 db.properties
mysql.driver=com.mysql.cj.jdbc.Driver
mysql.url=jdbc:mysql://127.0.0.1:3306/mybatisdemo?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false
mysql.username=root
mysql.password=123456
7 在 src - main - resources 下新建 mybatis-config.xml (核心配置文件,习惯上命名为 mybatis-config.xml )
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
8 src - test - java - 下建 package, 名字为Test
src - test - java - Test 下建立类文件 UserTest.java
package Test;
import com.mybatisdemo.pojo.User;
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();
}
//初始化mybatis数据库,创建SqlSessionFactory类的实例
SqlSessionFactory sqlMapper = new
SqlSessionFactoryBuilder().build(reader);
//创建SqlSession实例
SqlSession session = sqlMapper.openSession();
//传入参数查询,返回结果
User user = session.selectOne("findById", 1);
//输出结果
System.out.println(user.getUname());
//关闭session
session.close();
}
}
9 修改 pom.xml 文件
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
10 最终的文件结构:
11 在 UserTest.java 的 userFindByIdTest 上右键,Run :
源代码:
链接:https://pan.baidu.com/s/1LAIYzav5X30oTzIjxMhElA 提取码:1234
===============================================
补充:
mapper里面的namespace?
参考:
https://www.cnblogs.com/emanlee/p/15869468.html
session.selectOne("findById", 1);
参考:
如果多个类(接口)中有同名的 findById 方法怎么办?
===============================================
REF
https://www.cnblogs.com/benjieqiang/p/11183580.html
https://blog.csdn.net/qq_32166627/article/details/70741729
https://mybatis.org/mybatis-3/zh/getting-started.html
https://www.w3cschool.cn/mybatis/mybatis-dyr53b5w.html
黑马程序员书籍
发表评论