【mybatis基础(一)】mybatis入门案例

什么是 MyBatis?

        MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。mybatis – MyBatis 3 | 简介

一、入门案例

【mybatis基础(一)】mybatis入门案例_第1张图片

1、依赖准备

    
        
            org.mybatis
            mybatis
            3.5.5
        
        
            mysql
            mysql-connector-java
            8.0.11
        
        
            junit
            junit
            4.12
            test
        
        
            log4j
            log4j
            1.2.12
        
    

2、数据库准备

DROP TABLE IF EXISTS `tb_users`;
CREATE TABLE `tb_users`  (
  `id` int(20) NOT NULL COMMENT '编号主键',
  `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '用户名',
  `birthday` date NOT NULL COMMENT '出生日期',
  `sex` varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '性别',
  `address` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '地址',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

 3、编写Entity层

public class User implements Serializable {

    private Integer id;
    private String username;
    private Date birthday;
    private String sex;
    private String address;

    /*
        提供set、get方法
    */

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", birthday=" + birthday +
                ", sex='" + sex + '\'' +
                ", address='" + address + '\'' +
                '}';
    }
}

 4、编写Dao层

public interface UserDao {
    List findAll();
}

 5、Dao层的Mapper映射文件

写法一、使用配置文件编写sql




    
    

 6、DataSource 配置文件(dao层对应mapper.xml文件)




    
        
            
            
            
            
                
                
                
                
            
        
    
    
    
        
    

 注意mapper标签用法

【mybatis基础(一)】mybatis入门案例_第2张图片



  



  



  

7、编写测试类

public class MybatisTest {
    public static void main(String[] args) throws IOException {
        //1、读取配置文件
        InputStream in = Resources.getResourceAsStream("config/SqlMapConfig.xml");
        //2.创建 SqlSessionFactory 的构建者对象
        SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();
        //3.使用构建者创建工厂对象 SqlSessionFactory
        SqlSessionFactory sessionFactory = builder.build(in);
        //4.使用 SqlSessionFactory 生产 SqlSession 对象
        SqlSession sqlSession = sessionFactory.openSession();
        //5.使用 SqlSession 创建 dao 接口的代理对象
        UserDao userMapper = sqlSession.getMapper(UserDao.class);
        //6.使用代理对象执行查询所有方法 List
        List users = userMapper.findAll();
        for (User user : users) {
            System.out.println(user);
        }
        //7.释放资源
        sqlSession.close();
        in.close();
    }
}

 【显示结果】

【mybatis基础(一)】mybatis入门案例_第3张图片

 写法二、使用注解编写sql

public interface UserDao {
    @Select("select * from tb_users")
    List findAll();
}

更改mapperbb标签,其他不变 

【mybatis基础(一)】mybatis入门案例_第4张图片

 OKk!!! 入门mybatis

你可能感兴趣的:(mybatis基础篇,mybatis,java,mysql)