提取数据访问层
Dao开发方法需要程序员编写Dao接口和Dao实现类
第一到五步同上。
第六步:
创建Dao接口:
package cn.space.dao;
public interface BookDao {
int findBookCount();
}
创建接口的实现类:
package cn.space.dao.Impl;
import cn.space.dao.BookDao;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
public class BookDaoImpl implements BookDao {
private SqlSessionFactory sqlSessionFactory;
public BookDaoImpl(SqlSessionFactory factory) {
this.sqlSessionFactory=factory;
}
public int findBookCount() {
SqlSession session=sqlSessionFactory.openSession();
int count=session.selectOne("cn.space.dao.findBookCount");
session.close();
return count;
}
}
测试:
package cn.space.test;
import cn.space.dao.BookDao;
import cn.space.dao.Impl.BookDaoImpl;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Before;
import org.junit.Test;
import java.io.IOException;
import java.io.InputStream;
public class mybatisTest01 {
private BookDao bookDao;
private InputStream inputStream;
@Before
public void init() throws IOException {
inputStream=Resources.getResourceAsStream("SqlMapConfig.xml");
SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(inputStream);
bookDao=new BookDaoImpl(factory);
}
@Test
public void testDo01() throws IOException {
int count=bookDao.findBookCount();
System.out.println(count);
inputStream.close();
}
}