1 添加功能
@Test
public void testInsert(){
User user = new User();
user.setName("张三");
user.setAge(23);
user.setEmail("dongbin@qq.com");
int result = userMapper.insert(user);
System.out.println(result);
}
结果:
==> Preparing: INSERT INTO user ( id, name, age, email ) VALUES ( ?, ?, ?, ? )
==> Parameters: 1572475102517829634(Long), 张三(String), 23(Integer), dongbin@qq.com(String)
<== Updates: 1
2 删除功能
(1)deleteById
L为long,之前超过int大小
@Test
public void testDelete(){
int result = userMapper.deleteById(1572475102517829634L);
System.out.println(result);
}
输出结果为:
==> Preparing: DELETE FROM user WHERE id=?
==> Parameters: 1572475102517829634(Long)
<== Updates: 1
(2)deleteByMap
deleteMap为删除符合条件的数据,map中加入条件
@Test
public void testDelete(){
// int result = userMapper.deleteById(1572475102517829634L);
// System.out.println(result);
Map<String,Object> map = new HashMap<>();
map.put("name","张三");
map.put("age",23);
int result = userMapper.deleteByMap(map);
System.out.println("result"+result);
}
结果为:
==> Preparing: DELETE FROM user WHERE name = ? AND age = ?
==> Parameters: 张三(String), 23(Integer)
<== Updates: 0
(3)deleteBatchIds
批量删除
List<Long> list = Arrays.asList(1L, 2L, 3L);
int result = userMapper.deleteBatchIds(list);
System.out.println("result"+result);
}
结果为:
==> Preparing: DELETE FROM user WHERE id IN ( ? , ? , ? )
==> Parameters: 1(Long), 2(Long), 3(Long)
<== Updates: 3
3 修改功能
测试代码为:
@Test
public void testUpdate(){
User user = new User();
user.setId(4L);
user.setName("李四");
user.setEmail("list@qq.com");
int result = userMapper.updateById(user);
System.out.println(result);
}
结果为:
==> Preparing: UPDATE user SET name=?, email=? WHERE id=?
==> Parameters: 李四(String), list@qq.com(String), 4(Long)
<== Updates: 1
4 查询功能
测试代码为:
@Test
public void testSelect(){
User user = userMapper.selectById(4L);
System.out.println(user);
}
结果为:
Preparing: SELECT id,name,age,email FROM user WHERE id=?
==> Parameters: 4(Long)
<== Columns: id, name, age, email
<== Row: 4, 李四, 21, list@qq.com
<== Total: 1
selectBatchIds:
@Test
public void testSelect(){
// User user = userMapper.selectById(4L);
// System.out.println(user);
List<Long> list = Arrays.asList(4L, 5l);
List<User> users = userMapper.selectBatchIds(list);
users.forEach(System.out::println);
}
结果为;
==> Preparing: SELECT id,name,age,email FROM user WHERE id IN ( ? , ? )
==> Parameters: 4(Long), 5(Long)
<== Columns: id, name, age, email
<== Row: 4, 李四, 21, list@qq.com
<== Row: 5, Billie, 24, test5@baomidou.com
<== Total: 2
测试自定义:
编写接口和抽象方法:
/**
* 根据id查询用户map集合
* @param id
* @return
*/
Map<String,Object> selectMapById(Long id);
编写UserMapper.xml文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- namespace属性:用于指定当前的映射文件和哪个接口进行映射,需要指定接口的文件路径,需要标注包的完整路径 -->
<mapper namespace="com.example.demo.mapper.UserMapper">
<select id="selectMapById" resultType="map">
select id,name,age,email from user where id=#{id}
</select>
</mapper>
进行测试:
Map<String, Object> result = userMapper.selectMapById(4L);
System.out.println(result);
输出结果为:
==> Preparing: select id,name,age,email from user where id=?
==> Parameters: 4(Long)
<== Columns: id, name, age, email
<== Row: 4, 李四, 21, list@qq.com
<== Total: 1