MyBatis编写Dao实现类
阅读 (833416)
分享
1、创建实现类
恢复我们的IUserDao.xml文件
UserDaoImpl.java
package com.tianyi.dao.impl;
import com.tianyi.dao.IUserDao;
import com.tianyi.javabean.User;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import java.util.List;
public class UserDaoImpl implements IUserDao {
private SqlSessionFactory factory ;
public UserDaoImpl(SqlSessionFactory factory){
this.factory=factory;
}
public List<User> findAll() {
SqlSession session =factory.openSession();
List <User> users=session.selectList("com.tianyi.dao.IUserDao.findAll");
session.close();
return users;
}
}
2、修改测试类
MbTest.java
package com.tianyi.test;
import com.tianyi.dao.IUserDao;
import com.tianyi.dao.impl.UserDaoImpl;
import com.tianyi.javabean.User;
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 java.io.IOException;
import java.io.InputStream;
import java.util.List;
public class MbTest {
public static void main(String[] args) throws IOException {
//1.读取配置文件
InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");
//2.创建 SqlSessionFactory 的构建者对象
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
//3.使用构建者创建工厂对象 SqlSessionFactory
SqlSessionFactory factory = builder.build(in);
// //4.使用 SqlSessionFactory 生产 SqlSession 对象
// SqlSession session = factory.openSession();
// //5.使用 SqlSession 创建 dao 接口的代理对象
// IUserDao userDao = session.getMapper(IUserDao.class);
//产生实例对象
IUserDao userDao=new UserDaoImpl(factory);
//6.使用代理对象执行查询所有方法
List <User>users = userDao.findAll();
for(User user : users) {
System.out.println(user);
}
// //7.释放资源
// session.close();
in.close();
}
}
需要
登录
才可以提问哦
: