zoukankan      html  css  js  c++  java
  • 自定义注解@MyBatisRepository

    新建一个注解用作dao扫描

    /**
     * @author fuguangli
     * @description 标识MyBatis的DAO,方便{@link org.mybatis.spring.mapper.MapperScannerConfigurer}的扫描。
     * @Create date:    2017/7/12
     */
    @Retention(RetentionPolicy.RUNTIME)
    @Target(ElementType.TYPE)
    @Documented
    @Component
    public @interface MybatisRepository {
        String value() default "";
    }

    2、配置bean,启动spring的时候扫描@MybatisRepository

    <!-- 扫描basePackage下所有以@MyBatisDao注解的接口 -->
        <bean id="mapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
            <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
            <property name="basePackage" value="com.qysxy"/>
            <property name="annotationClass" value="com.*****.annotation.MybatisRepository"/>
        </bean>

    3、新建一个dao接口,并添加注解@MybatisRepository

    /**
     * @author fuguangli
     * @description 
     * @Create date:    2017/3/14
     */
    @MybatisRepository
    public interface TestDao {
    
        List<TestData> findAllListed(TestData testData);
    }

    4、新建一个Mapper来实现dao接口

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
    <mapper namespace="com.*****.TestDao">
    
        <sql id="columns">
        id,
        name
      </sql>
        <sql id="properties">
        #{id},
        #{name}
      </sql>
     <select id="findAllListed" resultMap="testDataResult" parameterType="TestData">
            SELECT *
            FROM test_test
            <where>
                <if test="id!=null and id!=0">
                    and id=#{id}
                </if>
                <if test="name!=null and name!=‘‘">
                   and name=#{name}
                </if>
            </where>
         </select>
    </mapper>

    6、测试

       @Autowired
        private TestDao testDao;
    
        @Test
        public void a1() {
    
            testDao.findAllListed(null);
    
        }
  • 相关阅读:
    JS与Android交互
    win10 死机 无响应
    clientdataset.open 报错 Name not unique in this context
    WIN10 常用bug解决办法
    关闭win10 自动更新 及蓝屏解决办法
    delphi 调用Webservice 引入wsdl 报错 document empty
    C# 类库调试 启动外部程序无法调试
    ADOQuery.Parameters: Property Parameters does not exist
    delphi android 自动升级
    不死僵尸木马lpt7.asp.asp与lpt5.cnzzz.asp的删除方法
  • 原文地址:https://www.cnblogs.com/ajing2018/p/10085815.html
Copyright © 2011-2022 走看看