插入数据
@Test
void testInsert(){
//插入数据
//sql:INSERT INTO user ( id, name, age, email ) VALUES ( ?, ?, ?, ? )
User user=new User();
user.setAge(23);
user.setName("张三");
user.setEmail("1643688@qq.com");
int result = userMapper.insert(user);
System.out.println(result);
//获取的id是默认由雪花算法生成的
//这也是为什么数据库中id设置为bigint,在实体类中设置类型为Long类型
System.out.println(user.getId());
}
删除数据
@Test
void testDelete(){
//根据id删除1501029657401708546
//sql:DELETE FROM user WHERE id=?
int i = userMapper.deleteById(1501029657401708546L);
System.out.println(i);
//批量删除
//sql:DELETE FROM user WHERE id IN ( ? , ? , ? )
List<Long> longs = Arrays.asList(1L, 2L, 3L); //把要删除的数据的id封装成list,因为是Long类型所以需要加上L
int i1 = userMapper.deleteBatchIds(longs);
System.out.println(i1);
//根据map删除数据,相当于把map数据里面的值当做查询条件
//sql:DELETE FROM user WHERE name = ? AND age = ?
Map<String,Object> map=new HashMap<>();
map.put("age",23);
map.put("name","张三");
userMapper.deleteByMap(map);
}
更新数据
@Test
void testUpdate(){
//根据id更新数据
//sql:UPDATE user SET name=?, email=? WHERE id=?
User user=new User();
user.setId(4L);
user.setName("李四");
user.setEmail("1643687525@qq.com");
userMapper.updateById(user);
}
查询数据
@Test
void testSelect(){
//查询所有数据
//sql:SELECT id,name,age,email FROM user
List<User> users = userMapper.selectList(null);
users.forEach(System.out::println);
//根据id查询数据
//sql:SELECT id,name,age,email FROM user WHERE id=?
User user=userMapper.selectById(4L);
System.out.println(user);
//批量查询数据
//sql:SELECT id,name,age,email FROM user WHERE id IN ( ? , ? )
List<Long> longs = Arrays.asList(4L, 5L);
List<User> users1 = userMapper.selectBatchIds(longs);
users1.forEach(System.out::println);
//根据Map查询数据
//sql:SELECT id,name,age,email FROM user WHERE name = ? AND age = ?
Map<String,Object> map=new HashMap<>();
map.put("name","李四");
map.put("age",21);
List<User> users2 = userMapper.selectByMap(map);
users2.forEach(System.out::println);
}