使用了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。可以保证几乎全球唯一!