续上节
1.Dao接口层
package com.mybatis.dao;
import java.util.List;
import com.mybatis.domain.User;
public interface UserDao {
User getUserById(Integer id);
List<User> getUserByUserName(String userName);
void insertUser(User user);
}
2.Dao实现方法层
package com.mybatis.dao.impl;
import java.util.List;
import org.apache.ibatis.session.SqlSession;
import com.mybatis.dao.UserDao;
import com.mybatis.domain.User;
import com.mybatis.utils.SqlSessionFactoryUtils;
public class UserDaoImpl implements UserDao {
@Override
public User getUserById(Integer id) {
SqlSession sql=SqlSessionFactoryUtils.getSql().openSession();
User user=sql.selectOne("user.getUserByid",id);
sql.close();
return user;
}
@Override
public List<User> getUserByUserName(String userName) {
SqlSession sql=SqlSessionFactoryUtils.getSql().openSession();
List<User> list=sql.selectList("user.getUserByUserName",userName);
sql.close();
return list;
}
@Override
public void insertUser(User user) {
SqlSession sql=SqlSessionFactoryUtils.getSql().openSession();
sql.insert("user.insertUser",user);
sql.commit();
sql.close();
}
}
3.测试模块
package com.mybatis.test;
import static org.junit.Assert.*;
import java.util.Date;
import java.util.List;
import org.junit.Test;
import com.mybatis.dao.UserDao;
import com.mybatis.dao.impl.UserDaoImpl;
import com.mybatis.domain.User;
public class UserDaoTest {
@Test
public void testGetUserById() {
UserDao userDao=new UserDaoImpl();
User user=userDao.getUserById(30);
System.out.println(user);
}
@Test
public void testGetUserByUserName() {
UserDao userDao=new UserDaoImpl();
List<User> list=userDao.getUserByUserName("百");
for(User user:list) {
System.out.println(user);
}
}
@Test
public void testInsertUser() {
UserDao userDao=new UserDaoImpl();
User user = new User();
user.setUsername("百分百欧克6");
user.setSex("1");
user.setBirthday(new Date());
user.setAddress("天津");
userDao.insertUser(user);
}
}