准备:

需要提前安装好以下工具软件

(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">

4.0.0

com.mybatisdemo

mybatis_demo01

1.0-SNAPSHOT

org.mybatis

mybatis

3.5.2

mysql

mysql-connector-java

8.0.11

junit

junit

4.12

compile

src/main/java

**/*.properties

**/*.xml

true

 

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

黑马程序员书籍

查看原文