TkMybatis使用方法2

使用的版本取决于SpringBoot的版本,因为存在兼容性的问题,版本需要提前确认好。

TkMybatis使用方法2_第1张图片

 

tk.mybatis mapper-spring-boot-starter 2.0.2 tk.mybatis mapper 4.0.4

2|0增加Mapper组件扫描配置

 

TkMybatis使用方法2_第2张图片

 

/** * @author zkm * @date 2019/5/19 18:29 */ @Configuration @tk.mybatis.spring.annotation.MapperScan("top.zhangsanwan.eat.repository") @EnableTransactionManagement public class DalConfig { } 

3|0创建Dao层的Base接口

 

TkMybatis使用方法2_第3张图片

注意:这个Base接口一定不要放在repository包下面,换言之就是不要被上面的Mapper组件扫描配置给扫描到!

创建BaseRepository继承3个tk.mybatis.mapper下的接口:

    1. Mapper
    2. IdsMapper
    3. InsertListMapper
 

/** * @author zkm * @date 2019/5/19 18:29 */ public interface BaseRepository extends Mapper, IdsMapper, InsertListMapper { }

4|0创建Dao查询接口

 

创建Dao查询接口MenuRepository,继承Dao层的Base接口BaseRepository,泛型为数据库表对应的映射类。

TkMybatis使用方法2_第4张图片

 

/** * @author zkm * @date 2019/5/19 18:24 */ public interface MenuRepository extends BaseRepository

{ }

5|0Service调用Dao接口进行查询

 

TkMybatis使用方法2_第5张图片

 

/** * @author zkm * @date 2019/5/19 18:23 */ @Service public class MenuServiceImpl implements IMenuService { @Resource private MenuRepository menuRepository; @Override public List getMenu(String date) { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); String today = StringUtils.isEmpty(date) ? format.format(new Date()) : date; Example example = new Example(Menu.class); example.createCriteria().andGreaterThanOrEqualTo("createAt", today + " 00:00:00") .andLessThanOrEqualTo("createAt", today + " 23:59:59"); example.setOrderByClause("sort asc"); List

menuList = menuRepository.selectByExample(example); List menuVOList = Lists.newArrayList(); menuList.forEach(menu -> { MenuVO menuVO = new MenuVO(); BeanUtils.copyProperties(menu, menuVO); menuVOList.add(menuVO); }); return menuVOList; } }

你可能感兴趣的:(TkMybatis使用方法2)