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 {
          List getUserList();
      }
      
    • 接口实现类由原来的 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();
}