1、创建demo03的maven项目
2、把demo01的src目录下的内容拷贝过来
在dao目录下新建实现包和实现类
package com.wan.dao.impl;
import com.wan.dao.IUserDao;
import com.wan.mybatis.User;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import java.util.List;
public class UserDaoImpl implements IUserDao {
//创建一个工厂对象作为参数
//使用UserDaoImpl代替构造函数
private SqlSessionFactory factory;
public UserDaoImpl(SqlSessionFactory factory){
this.factory=factory;
}
public List<User>findAll(){
//1.使用工厂创建SqlSession对象
SqlSession session = factory.openSession();
//2.使用session执行查询所有方法
//通过命名空间namespace.方法名findAll
List<User> users = session.selectList("com.wan.dao.IUserDao.findAll");
session.close();
//3.返回查询结果
return users;
}
}
3、更改测试案例
package com.wan.test;
import com.wan.dao.IUserDao;
import com.wan.dao.impl.UserDaoImpl;
import com.wan.mybatis.User;
import org.apache.ibatis.io.Resources;
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 MybatisTest {
// 入门案例
public static void main(String[] args) throws IOException {
// 1.读取配置文件
InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");
// 2.从 XML 中构建 SqlSessionFactory
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
SqlSessionFactory factory = builder.build(in);
// 3. 使用工厂创建dao对象
IUserDao userDao = new UserDaoImpl(factory);
// 4. 使用代理对象执行方法
List<User> users = userDao.findAll();
for (User user : users) {
System.out.println(user);
}
// 5.释放资源
in.close();
}
}