传统dao开发
在mybati基础上
dao和daoimpl
1.工厂工具类
获得SqlSessionFactory
SqlSessionFactoryUtil.java
1 package util; 2 3 import java.io.IOException; 4 import java.io.InputStream; 5 6 import org.apache.ibatis.io.Resources; 7 import org.apache.ibatis.session.SqlSessionFactory; 8 import org.apache.ibatis.session.SqlSessionFactoryBuilder; 9 10 public class SqlSessionFactoryUtil { 11 public static SqlSessionFactory sqlSessionFactory; 12 static { 13 try { 14 SqlSessionFactoryBuilder ssfb = new SqlSessionFactoryBuilder(); 15 //2.配置核心文件输入流 16 InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapperConfig.xml"); 17 //通过输入流创建SqlSessionFactory 18 sqlSessionFactory = ssfb.build(resourceAsStream); 19 System.out.println("SqlSessionFactoryBuilder==========="); 20 } catch (IOException e) { 21 e.printStackTrace(); 22 } 23 } 24 public static SqlSessionFactory getSqlSessionFactory() { 25 return sqlSessionFactory; 26 } 27 28 29 }
接口
UserDao.java
1 package dao; 2 3 import java.util.List; 4 5 import pojo.User; 6 7 public interface UserDao { 8 User getUserBYId(Integer id); 9 List<User> getUSerByUserName(String userName); 10 }
实现
daoimpl
package dao.impl; import java.util.List; import org.apache.ibatis.session.SqlSession; import dao.UserDao; import pojo.User; import util.SqlSessionFactoryUtil; public class UserDaoImpl implements UserDao{ public User getUserBYId(Integer id) { SqlSession openSession = SqlSessionFactoryUtil.getSqlSessionFactory().openSession(); User selectOne = openSession.selectOne("test.getUserById", 1); // TODO Auto-generated method stub return selectOne; } public List<User> getUSerByUserName(String userName) { // TODO Auto-generated method stub return null; } }
测试
1 package dao.impl; 2 import static org.junit.Assert.*; 3 import org.junit.Test; 4 import mapper.UserMapper; 5 import pojo.User; 6 public class UserDaoImplTest { 7 @Test 8 public void test() { 9 UserMapper userDao = new UserDaoImpl(); 10 User user = userDao.getUserBYId(1); 11 System.out.println(user); 12 } 13 }