1、新建一个类MybatisUtil
注意:
定义一个全局变量public static SqlSessionFactory factory
用一个静态块来初始化
package cn.bdqn.smbms.dao.mybatisUtil;
import java.io.IOException;
import java.io.InputStream;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class MybatisUtil {
//创建会话工厂
public static SqlSessionFactory factory;
static {
SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();
try {
InputStream is= Resources.getResourceAsStream("mybatis-config.xml");
factory=builder.build(is);
} catch (IOException e) {
e.printStackTrace();
}
}
//改为静态方法,或者实例化
public static SqlSession createSession() {
//获取会话
return factory.openSession();
}
public static void closeSession(SqlSession session) {
//关闭会话
session.close();
}
}
测试类
package cn.bdqn.smbms.test;
import java.util.List;
import org.apache.ibatis.session.SqlSession;
import cn.bdqn.smbms.dao.mybatisUtil.MybatisUtil;
import cn.bdqn.smbms.dao.user.UserDao;
import cn.bdqn.smbms.pojo.User;
public class testTwo {
public static void main(String[] args) {
SqlSession session=MybatisUtil.createSession();
String userName="张";
Integer roleId=3;
List<User> userList=session.getMapper(UserDao.class).selectByNameRole(userName, roleId);
for (User user : userList) {
System.out.println(user.getUserRoleName());
}
}
}