mybatis获取sqlSession空指针异常

package org.example;

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 org.example.beans.Student;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

public class App {
public static void main(String[] args) {
String s="mybatis.xml";
try {
InputStream is=Resources.getResourceAsStream(s);
SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();
SqlSessionFactory factory = builder.build(is);
SqlSession sqlSession = factory.openSession();
String sqlId="org.example.services.impl.StudentDao.selectStudents";
List objects = sqlSession.selectList(sqlId);
sqlSession.close();
System.out.println(objects);
} catch (IOException e) {
e.printStackTrace();
}
}
}

我的解答思路和尝试过的方法

SqlSession sqlSession = factory.openSession();这里获取不到sqlSession,报空指针异常

点进去 final Environment environment = configuration.getEnvironment()这个获取为空

报错的具体信息贴出来