JavaWeb学习记录4——Mybatis

Mybatis

作用:MyBatis 是一款优秀的持久层(负责将数据到保存到数据库的那一层代码)框架,用于简化 JDBC 开发

一、Mybatis开发步骤图

JavaWeb学习记录4——Mybatis_第1张图片


二、具体步骤

2.1、导入依赖
    即通过坐标的方式导入本模块需要的jar包

JavaWeb学习记录4——Mybatis_第2张图片


2.2、配置mybatis文件:(mybatis文件中主要包含:数据库的连接信息和加载sql映射文件)

  
  
  

       //可以简化映射文件中的type的书写,类似于cd到指定目录
          
          
      

      
          
              
              
                  
                  
                  
                  
                  
              
          
      
      
          
  
          
          
      
  


2.3、编写实体类
    实体类中的内容与数据库表的内容一一对应。提供对应的属性(最好都使用包装类,因为当没有赋值时,属性值为null,有利于sql的书写)、get和set方法、tosting方法。

JavaWeb学习记录4——Mybatis_第3张图片


2.4、编写Mapper接口
    Mapper接口中书写的是与映射文件中对应的sql的抽象方法。
    书写时应当考虑的属性:
        1、参数:该方法是否要传递参数
        2、是否需要返回值
            2.1、如果需要,返回值类型是什么?

JavaWeb学习记录4——Mybatis_第4张图片


2.4、编写映射文件
    映射文件中书写的是:对应接口中的sql语句。
        注意:1、sql语句的id要和接口中的方法名一样
             2、使用resultMap来映射实体类和数据库中名称不一致的属性。
                eg:    
                    
                        
                    
                    
                
             3、mapper的namespace必须是对应接口的全限定名
                eg:

2.5编写测试类
    public void testSelectAll() throws IOException {
    //1.加载mybatis的核心配置文件,获取SqlSessionFactory
    String resource = "mybatis-config.xml";
    InputStream inputStream = Resources.getResourceAsStream(resource);
    SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

    //2.获取SqlSession对象,用它来执行sql 
    SqlSession sqlSession = sqlSessionFactory.openSession(true); //true表示自动提交事务 false则需要使用sqlSession.commit()来手动提交

    //3.获取Mapper接口的代理对象
    BrandMapper brandMapper = sqlSession.getMapper(BrandMapper.class);
        //增删改查变化的只有:4、执行方法中的内容,其他代码都是不变的。
    //4、执行方法 
    List brands = brandMapper.selectAll();
    System.out.println(brands);

    //4、释放资源
    sqlSession.close();
}

你可能感兴趣的:(java-ee)