提供通用SQL注册、分页、SQL打印功能,可以单独使用.如果使用通用SQL注册,将同时开启分页功能.
基础的SQL不用再手工写,增加工程效率
Mybatis的分页参数RowBounds存在序列化问题,业界里面的分页插件在使用的时候通常需要自己手动进行转换,且返回值在一些序列化中会丢失.
@Table("t_category")
public class Category {
@Id(KeyGeneratorType.AUTO)
private Long id;
private String code;
private String name;
private Integer type;
private String cover;
...
}
public interface CategoryMapper extends BaseMapper<Category, Long>{
@Select("select id,code,name,type,cover,created_on createdOn,created_by createdBy,updated_on updatedOn,updated_by updatedBy from t_category where type = #{type}")
public List<Category> findByType(@Param("type") Integer type);
@Select("select id,code,name,type,cover,created_on createdOn,created_by createdBy,updated_on updatedOn,updated_by updatedBy from t_category where type = #{type}")
public Pagination<Category> findByTypePage(@Param("type") Integer type,Paginator paginator);
@Select("select id,code,name,type,cover,created_on createdOn,created_by createdBy,updated_on updatedOn,updated_by updatedBy from t_category where type = #{type}")
public Pagination<Category> findAll2(Category category,Paginator paginator);
}
@Configuration
@EnableTransactionManagement
@MapperScan(basePackages="com.lihongkun.rebatis.sample.mapper")
public class MybatisConfiguration {
@Autowired
private DataSource dataSource;
@Bean
@ConditionalOnMissingBean
public DataSourceTransactionManager transactionManager() {
return new DataSourceTransactionManager(dataSource);
}
@Bean
@ConditionalOnMissingBean
public SqlSessionFactory sqlSessionFactory() throws Exception {
SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
sessionFactory.setDataSource(dataSource);
// 只需要注入 RebatisConfiguration 并选择启用的功能
sqlSessionFactory.setConfiguration(new RebatisConfiguration(true, true, true));
return sessionFactory.getObject();
}
}
测试使用了内存数据库h2,源码目录下的RebatisTest和PaginationTest可以直接运行.
其中RebatisTest 演示了BaseMapper的方法,PaginationTest演示了单独使用分页功能的几个方法.
主要扩展了Configuration,在注册Mapper的时候同时对BaseMapper中已定义的接口进行对应的MapperStatement的注册达到了不用自己手写SQL的目的.
QQ群 : 477318923
微信公众号 : HelloBackend
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )