- 1.Select
- 2.Insert
- 3.update
- 4.delete
-
通过id查询单个用户
//通过id查询单个用户 @Test void contextLoads() { //查询全部用户 //参数是一个Wrapper,条件构造器,这里先不用定为null Listusers = userMapper.selectList(null); for (User user : users) { System.out.println(user); } } -
通过id查询多个用户
@Test public void testSelectedBatchId(){ Listusers = userMapper.selectBatchIds(Arrays.asList(1L, 2L, 3L));//参数为一个集合 for (User user : users) { System.out.println(user); } } -
根据属性查询 通过map封装
@Test public void testSelectedByMap(){ HashMapmap = new HashMap<>(); map.put("name","黄凯宇"); map.put("age",18); List users = userMapper.selectByMap(map); System.out.println(users); }
@Test
public void testInsert(){
User user = new User();
user.setName("黄凯宇");
user.setAge(18);
user.setEmail("1024955508@qq.com");
int rs = userMapper.insert(user);
System.out.println(user);
System.out.println("结果=》"+rs);
}
我们实例化对象时并没有设置主键id,但是输出对象时id已经存在
数据库插入的id的默认值为:全局的唯—id
主键生成策略
public enum IdType {
AUTO, //数据库id自增
INPUT, //手动输入
ID_WORKER, //默认的全局唯一id
UUID, //全局唯一id uuid
NONE;//未设置主键
**
}
AUTO: 我们需要配置主键自增
- 在实体类字段上配置@TableId(type = IdType.AUTO)
- 数据库字段设置自增
INPUT :手动输入id 需要自己写id
不设置id为空
3.update @Test
public void testUpdate(){
User user=new User();
user.setId(1L);
user.setName("alibaba"); //通过设置的属性动态拼接sql
int rs = userMapper.updateById(user); //byId 但是参数是个user,所以我们要在user里设置被修改属性的id
System.out.println(user);
System.out.println("结果=》"+rs);
}
4.delete
基本的删除任务
@Test
public void testDeleteById(){
userMapper.deleteById(1L);
}
@Test
public void testDeleteBatchIds(){
userMapper.deleteBatchIds(Arrays.asList(1L,2L));
}
@Test
public void testD(){
HashMap map = new HashMap<>();
map.put("age","18");
map.put("name","lol");
userMapper.deleteByMap(map);
}



