Mapper介面方式的mybatis的增,刪,改,查實現
4.1、Mapper介面程式設計的命名習慣Mapper介面方式的程式設計,需要先有一個介面。這個介面的命名一般是xxxxMapper。 比如: User模組的Mapper,介面命名為UserMapper。 Book模組的Mapper,介面命名為BookMapper。 4.2、Mapper介面開發有四個開發規範必須遵守 1. 對應的mapper配置檔案的namespace屬性值必須是Mapper介面的全類名。 2. Mapper介面中的方法名必須與mapper配置檔案中對應的id值相同。 3. Mapper介面的方法的引數型別必須與mapper配置檔案中配置的parameterType型別匹配上 4. Mapper介面的方法返回值型別必須與mapper配置檔案中配置的resultType 型別匹配上
4.3、編寫Mapper介面
package com.atguigu.mapper;
import java.util.List;
import com.atguigu.pojo.User;
public interface UserMapper {
// 儲存使用者 public int saveUser(User user); // 更新使用者 public int updateUser(User user); // 根據id刪除使用者 public int deleteUserById(int id); // 根據id搜尋使用者 public User findUserById(int id); // 搜尋全部使用者 public List<User> findUsers();
} 4.4、修改原來UserMapper.xml配置檔案 修改原來UserMapper.xml配置檔案的namespace屬性值為剛建立的UserMapper的全類名 4.5、編寫UserMapper測試 package com.atguigu.mapper;
import java.io.InputStream;
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 org.junit.BeforeClass;
import org.junit.Test;
import com.atguigu.pojo.User;
public class UserMapperTest {
static SqlSessionFactory sqlSessionFactory;
@BeforeClass
public static void setUpBeforeClass() throws Exception {
String url = "mybatis-config.xml";
// 讀取配置檔案
InputStream inputStream = Resources.getResourceAsStream(url);
// 建立SqlSessionFactory物件
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
}
@Test
public void testSaveUser() {
SqlSession session = sqlSessionFactory.openSession();
try {
UserMapper userMapper = session.getMapper(UserMapper.class);
User user = new User(0, "ddddd", 1);
userMapper.saveUser(user);
session.commit();
System.out.println(user);
} finally {
session.close();
}
}
@Test
public void testUpdateUser() {
SqlSession session = sqlSessionFactory.openSession();
try {
UserMapper userMapper = session.getMapper(UserMapper.class);
User user = new User(5, "eeeee", 1);
userMapper.updateUser(user);
session.commit();
} finally {
session.close();
}
}
@Test
public void testDeleteUserById() {
SqlSession session = sqlSessionFactory.openSession();
try {
UserMapper userMapper = session.getMapper(UserMapper.class);
userMapper.deleteUserById(5);
session.commit();
} finally {
session.close();
}
}
@Test
public void testFindUserById() {
SqlSession session = sqlSessionFactory.openSession();
try {
UserMapper userMapper = session.getMapper(UserMapper.class);
System.out.println(userMapper.findUserById(7));
} finally {
session.close();
}
}
@Test
public void testFindUsers() {
SqlSession session = sqlSessionFactory.openSession();
try {
UserMapper userMapper = session.getMapper(UserMapper.class);
System.out.println(userMapper.findUsers());
} finally {
session.close();
}
}
}