1. 程式人生 > >Mapper介面方式的mybatis的增,刪,改,查實現

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();

   }

}
}