java25-mybatisPlus

144 阅读1分钟

使用了mybatis-plus之后
pojo

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
    private Long id;
    private String name;
    private Integer age;
    private String email;
}

mapper接口

// 在对应的Mapper上面继承基本的接口 BaseMapper
@Repository // 代表持久层
public interface UserMapper extends BaseMapper<User> {
    // 所有的CRUD操作都已经基本完成了
    // 你不需要像以前的配置一大堆文件了
}

注意点:我们需要在主启动类上去扫描我们的mapper包下的所有接口

//  扫描我们的   mapper  文件夹
@MapperScan("com.lxyk.mapper")
@SpringBootApplication
public class MybatisPlusApplication {
    public static void main(String[] args) {
        SpringApplication.run(MybatisPlusApplication.class, args);
    }
​
}

测试

@SpringBootTest
class MybatisPlusApplicationTests {
​
    // 继承了BaseMapper,所有的方法都来自父类
    // 我们也可以编写自己的扩展方法
    @Autowired
    private UserMapper userMapper;
    @Test
    void contextLoads() {
        // 参数是一个 Wrapper , 条件构造器,这里我们先不用 null
        // 查询全部用户
        List<User> list = userMapper.selectList(null);
        list.forEach(System.out::println);
    }
}

思考问题?

1、SQL是谁帮我们写的?MyBatis-Plus都写好了

2、方法哪里来的?MyBatis-Plus 都写好了

一、主键的生成策略

对应数据库中的唯一主键(uuid、自增id、雪花算法twitter、redis、zookeeper) www.cnblogs.com/haoxinyue/p…

雪花算法:

snowflake是Twitter开源的分布式ID生成算法,结果是一个long型的ID。其核心思想是:使用41bit作为毫秒数10bit作为机器的ID(5个bit是数据中心,5个bit的机器ID),12bit作为毫秒内的流水号(意味着每个节点在每毫秒可以产生 4096 个 ID),最后还有一个符号位,永远是0。可以保证几乎全球唯一!