package com.cjp.dao;
import com.cjp.pojo.User;
import java.util.List;
public interface UserMapper {
//获取全部用户
List getUserList();
//根据id查询用户
User getUserById(int id);
//添加一个用户
int insertUser(User user);
//修改用户
int updateUser(User user);
//删除用户
int deleteUser(int id);
}
UserMapper.xml
测试代码:
package com.cjp.dao;
import com.cjp.pojo.User;
import com.cjp.utils.MybatisUtil;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
import java.util.List;
public class UserDaoTest {
@Test
public void test() {
//第一步,获得SqlSession对象
SqlSession sqlSession = MybatisUtil.getSqlSession();
try {
//第二步,执行sql
//方式一:
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
List userList = mapper.getUserList();
for (User user : userList) {
System.out.println(user);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
//关闭SqlSession
sqlSession.close();
}
}
@Test
public void getUserByIdTest(){
SqlSession sqlSession = MybatisUtil.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
User user = mapper.getUserById(1004);
System.out.println(user);
sqlSession.close();
}
@Test
// 增删改查需要提交事务
public void insertTest(){
SqlSession sqlSession = MybatisUtil.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
User user = new User(1004, "王五", "1234567");
int i = mapper.insertUser(user);
if (i>=1){
System.out.println("插入成功!");
}else {
System.out.println("插入失败!");
}
//提交事务
sqlSession.commit();
sqlSession.close();
}
@Test
public void updateUserTest(){
SqlSession sqlSession = MybatisUtil.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
int i = mapper.updateUser(new User(1004, "元歌", "1433223"));
if (i>0){
System.out.println("修改成功!");
}else {
System.out.println("修改失败!");
}
sqlSession.commit();
sqlSession.close();
}
@Test
public void deleteUser(){
SqlSession sqlSession = MybatisUtil.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
int i = mapper.deleteUser(1003);
if (i>0){
System.out.println("删除成功!");
}else {
System.out.println("删除失败!");
}
sqlSession.commit();
sqlSession.close();
}
}
4.利用Map传递参数
只有一个基本类型参数时,可直接在sql中取到
多个参数可以用Map,或者注解
int addUser(Map map);
insert into mybatis.user(id,name,pwd)value (#{number},#{UserName},#{password})