使用SqlSession手动查询
mybatis框架在操作数据的时候,离不开SqlSession接口实例类的作用。可以说SqlSession接口实例是开发过程中打交道最多的一个类。即是DefaultSqlSession类
public static void main(String[] args) throws FileNotFoundException {
String strFilePath = Thread.currentThread().getContextClassLoader().getResource("mybatisconfig.xml").toString();
strFilePath = strFilePath.replace("file:/", "");
FileInputStream inputStream = new FileInputStream(strFilePath);
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession session = factory.openSession();
//第一种方式
//使用SqlSession直接操作,
//参数是nameSpace+节点(select,update等)id
//此时是使用Executor 来实现后续的处理
User userDirectBySession = session.selectOne("gupaoIT.dao.UserMapper.getUserById", 1);
//第二种方式,直接调用Mapper,
// 使用mapper执行后续操作, 此处是使用动态代理实现的
//最后调用MapperMethod.execute实现数据库交互
UserMapper mapper = session.getMapper(UserMapper.class);
User u = mapper.getUserById(1);
//第三种,使用ProxyFactory 自己模拟调用ProxyMapper
MapperProxyFactory factory1 = new MapperProxyFactory(UserMapper.class);
UserMapper userMapperT =