mybatis三种实现方式(快速入门、mapper代理模式、注解)

ORM和Mybatis的区别

mybatis三种实现方式(快速入门、mapper代理模式、注解)_第1张图片

Mybatis快速入门

 注意事项:

  1. 如果parameterType为简单类型(基本类型+String),#{}中的参数名称可以任意
  2. 如果parameterType为POJO类型,#{}中的参数名称必须和POJO中的属性名称一致
  3. 如果resultType为POJO类型,select中的列名和POJO中的属性名称一致

    


public class UserMapperImpl implements UserMapper{

    private SqlSessionFactory sqlSessionFactory;

    public UserMapperImpl(SqlSessionFactory sqlSessionFactory) {
        this.sqlSessionFactory = sqlSessionFactory;
    }

    @Before
    public void init() throws IOException {
        InputStream resourceAsStream = Resources.getResourceAsStream("phase01/mybatis-config.xml");
        sqlSessionFactory=new SqlSessionFactoryBuilder().build(resourceAsStream);
    }

    public List findAll() {
        SqlSession sqlSession=sqlSessionFactory.openSession();
        return sqlSession.selectList("userMapper.findAll");
    }
}

public interface UserMapper {
    List findAll();
}

//mybatis-config.xml===>核心配置文件



    
    
        
            
            
                
                
                
                
            
        
    
    
        
    

mybatis(Mapper代理开发方式)

 Mapper代理开发规范:

  1. Mapper接口的类路径与Mapper.xml文件中的namespace相同
  2. Mapper接口方法名称和Mapper.xml中定义的每个statement的id相同
  3. Mapper接口方法的输入参数类型和mapper.xml中定义的每个sql的parameter的id相同
  4. Mapper接口方法的返回值类型和mapper.xml中定义的每个sql的resultType的类型相同

    


public interface UserMapper {
    List findAll();
}

mybatis注解开发

public interface UserMapper {
    @Select("select * from tb_user")
    List findAll();
}


  

 

你可能感兴趣的:(mybatis)