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

   }

}
}
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值