集成mybatis(三)

配置Mapper

xml方式:

<!-- 采用自动扫描方式创建指定包下的单个mapper生成bean -->
<bean id="roleMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
    <property name="mapperInterface" value="com.example.dao.RoleMapper"/>
    <property name="SqlSessionFactory" ref="SqlSessionFactory"></property>
</bean>
    <!-- 采用自动扫描方式创建指定包下的多个mapper生成bean -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.example.dao" />
        <property name="SqlSessionFactoryBeanName" value="SqlSessionFactory" />
        <!-- 指定标注才扫描成为Mapper  所以mapper接口要加上@Repository-->
        <property name="annotationClass" value="org.springframework.stereotype.Repository" />
    </bean>

config类配置:

/**
     * 通过自动扫描,发现MyBatis mapper接口
     * @return Mapper扫描器
     */
    @Bean
    public MapperScannerConfigurer initMapperScannerConfigurer() {
        MapperScannerConfigurer msc=new MapperScannerConfigurer();
        msc.setBasePackage("com.*");
        msc.setSqlSessionFactoryBeanName("sqlSessionFactory");
        msc.setAnnotationClass(Repository.class);
        return msc;
    }

Spring Boot里:

基于xml的使用,创建UserMapper接口

基于注解也可以,用的时候再说

复制代码
//这个注解很好用,1.不用再在mybatis-config.xml里写xml映射文件2.直接就可以有相应的对象实例使用了
//同时如果有多个mapper一个个加@Mapper比较麻烦,可以在启动类上加上@MapperScan(basePackages = "com.example.demo.dao")扫描此包下的所有mapper
@Mapper
public interface UserMapper {
    User findUserByUsername(String username);
    void updateUserByUsername(User user);
    void deleteUserByUsername(String username);
    void saveUser(User user);
    List<User> getUserList();
}
复制代码

 

111

posted @ 2020-03-12 19:42  马中赤兔  阅读(133)  评论(0编辑  收藏  举报