Mybatis官方文档(点击查看)
- 创建Mysql数据库
进入终端命令行,输入MySQL -uroot -p(此处加自己的密码)
创建数据库mybatis
create database mybatis;
然后使用数据库
use mybatis;
创建表
create table user ( id int(20) not null primary key, name varchar(30) default null, pwd varchar(30) default null ) engine=innodb default charset=utf8;
插入数据
insert into user (id,name,pwd)values (1,'张三',123456), (2,'李四',123456) (3,'王麻子',123456);
至此数据库创建完成
- 编写完成后的项目架构展示
- 开始具体编写
- 新建maven工程
完成后的界面如下
- 创建子模块
删除src作为父项目
然后如下所示
接下来创建子模块
- 然后添加配置父项目中的pom.xml
4.0.0 org.example Mybatis_Demo pom 1.0-SNAPSHOT Mybatis mysql mysql-connector-java 8.0.25 org.mybatis mybatis 3.4.6 junit junit 4.12 test UTF-8 src/main/resources ***.xml true src/main/java ***.xml true
- 子项目中的pom.xml
Mybatis_Demo org.example 1.0-SNAPSHOT 4.0.0 Mybatis UTF-8 src/main/resources ***.xml true src/main/java ***.xml true
以上两个pom.xml完成后记得刷新Maven。
- 编写mybatis的核心类,在resource下创建mybatis-config.xml
注意修改自己的Mysql的用户名和密码 - mybatis-config.xml
version="1.0" encoding="UTF-8"?>
- 建立工具包
在src/main/java下创建com.me.dao,还有与dao同级的utils,还有普通类。
- pojo中编写User类
package com.me.pojo;
public class User {
private int id;
private String name;
private String pwd;
public User() {
}
public User(int id, String name, String pwd) {
this.id = id;
this.name = name;
this.pwd = 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 + ''' +
'}';
}
}
- 在dao包中编写UserDao接口
package com.me.dao;
import com.me.pojo.User;
import java.util.List;
public interface UserDao {
List getUserList();
}
- 在dao包中编写UserDao接口的实现类UserDaoImpl,并实现
package com.me.dao;
import com.me.pojo.User;
import java.util.List;
public class UserDaoImpl implements UserDao {
public List getUserList() {
return null;
}
}
- 在dao包中编写映射文件UserMapper.xml
- 在utils中添加MybatisUtils类
package com.me.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 SqlSessionFactory sqlSessionFactory;
static {
try {
//使用mybatis第一步,获取sqlSessionFactory对象
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
} catch (IOException e) {
e.printStackTrace();
}
}
public static SqlSession getSqlSession(){
return sqlSessionFactory.openSession(); //这种更为简单 这个对象就相当于jdbc中的connection对象
}
}
开始测试
在test文件夹中创建如下(建议):
- UserDaoTest类
使用的是junit单元测试
package com.me.dao;
import com.me.pojo.User;
import com.me.utils.MybatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
import java.util.List;
public class UserDaoTest {
@Test
public void test(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserDao userDao = sqlSession.getMapper(UserDao.class);
List userList = userDao.getUserList();
for (User user : userList) {
System.out.println(user);
}
sqlSession.close();
}
}
完成所有编写后项目架构如下:
结果:
第一个Mybatis创建完成



