目的:解决硬编码问题,更友好的调用封装好sql语句的接口方法
例:原生方法selectList()执行sql,还需要硬编码test.selectAll
List users = sqlSession.selectList(“test.selectAll”);
UserMapper.xml(相当于实现UserMapper接口)
UserMapper.java(sql语句接口定义)
package com.niujl.mapper;
import com.niujl.pojo.User;
import java.util.List;
public interface UserMapper {
List selectAll();
}
mybatis-config.xml
MyBatisDemo2.java(具体操作)
package com.niujl;
import com.niujl.mapper.UserMapper;
import com.niujl.pojo.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
public class MyBatisDemo2 {
public static void main(String[] args) throws IOException {
//1、加载核心配置文件
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
// 2、获取SqlSession对象,用它来执行sql
SqlSession sqlSession = sqlSessionFactory.openSession();
// 3、执行sql
// List users = sqlSession.selectList("test.selectAll");
// System.out.println(users);
// 3、1获取UserMapper接口代理的对象
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
List users = userMapper.selectAll();
System.out.println(users);
// 4、释放资源
sqlSession.close();
}
}



