mybatis 第一个程序
思路:搭建环境 + 导入 Mybatis + 编写代码 + 测试
2.1 创建项目
-
导入依赖
mysql mysql-connector-java 8.0.21 org.mybatis mybatis 3.5.2 junit junit 4.12 -
搭建数据库
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
);
insert into `user`(id, name, pwd) values
(1, '小费', '123456'),
(2, '小尤', '542103'),
(3, '小白', '888521')
2.2 创建一个模块
-
编写 mybatis 的核心配置文件
<?xml version="1.0" encoding="UTF-8" ?> -
编写 mybatis 工具类
public class MybatisUtils { private static SqlSessionFactory sqlSessionFactory; static { try { // 1. 加载资源 String resource = "mybatis-config.xml"; // 2. 获取输入流 InputStream inputStream = Resources.getResourceAsStream(resource); // 3. 使用 mybatis 获取 sqlSessionFactory 对象 sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); } catch (IOException e) { e.printStackTrace(); } } // 有了 SqlSessionFactory,就可以从中获得 SqlSession 的实例 // SqlSession 提供了在数据库执行 SQL 命令所需的所有方法 public static SqlSession getSqlSession() { return sqlSessionFactory.openSession(); } } -
编写代码
-
实体类
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 + ", uname='" + uname + '\'' + ", pwd='" + pwd + '\'' + '}'; } } -
Dao 接口
public interface UserDao { ListgetUserList(); } -
接口实现类由原来的 UserDaoImpl 转变成一个 Mapper 配置文件
<?xml version="1.0" encoding="UTF-8" ?>
-
2.4 测试
junit 测试
@Test
public void test() {
// 获得 SqlSession 对象
SqlSession sqlSession = MybatisUtils.getSqlSession();
// 执行 SQL
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
List userList = userMapper.getUserList();
for (User user : userList) {
System.out.println(user);
}
sqlSession.close();
}