主键策略和基本配置
Last updated
Was this helpful?
Last updated
Was this helpful?
Was this helpful?
ActiveRecord模式
po继承Model
类
mapper继承BaseMapper
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.demo.po.User;
public interface UserMapper extends BaseMapper<User>{
}
插入数据
User user = new User();
user.setAge(12);
user.setEmail("wu_mingsheng@126.com");
user.setName("woms");
boolean insert = user.insert();
System.out.println(insert);
查询
User user = new User().selectById(1L);
System.out.println(user);
//方式二
User user = new User();
user.setId(1L);
User user2 = user.selectById();
更新
User user = new User();
user.setId(1L);
user.setName("woms");
user.updateById();
局部主键策略
@TableId(value = "id", type = IdType.ID_WORKER)
private Long id;
主键会自动帮我们set回po里面
全局主键配置
## mybatis-plus
mybatis-plus.global-config.db-config.id-type=uuid
# mybatis-plus.mapper-locations=```properties
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.example.demo.dao.UserMapper;
import com.example.demo.po.User;
@Service
public class UserService extends ServiceImpl<UserMapper, User> implements IService<User> {
}
th(SpringRunner.class)
@SpringBootTest
public class UserMapperTest {
@Autowired
private UserService userService;
@Test
public void test() {
//false 如果数据记录多余一条,不会抛出异常,取第一条
userService.getOne(Wrappers.<User>lambdaQuery().like(User::getName, "tom"), false);
}
}