SelectOne源码学习

public T selectOne(String statement) {
        return this.selectOne(statement, (Object)null);//调用了下面这个函数
    }


public T selectOne(String statement, Object parameter) {
        List list = this.selectList(statement, parameter);
        if (list.size() == 1) {
            return list.get(0);//只能取一条
        } else if (list.size() > 1) {//取多了,抛异常
            throw new TooManyResultsException("Expected one result (or null) to be returned by selectOne(), but found: " + list.size());
        } else {
            return null;
        }
    }


查询有select、selectOne、selectList、selectMap
类型为分别为void、T(泛型)、List、Map。    上面的代码说明了selectOne为什么只返回一个泛型对象。这个泛型对象可以是实体类,也可以是其他数据类型。

你可能感兴趣的:(框架学习)