zoukankan      html  css  js  c++  java
  • 通用Mapper的使用

    一、环境搭建

         1. 先搭好spring和Mybatis的整合的环境

         2.导入Mapper的Maven依赖

     <dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper</artifactId>
              <version>4.0.0-beta3</version>
          </dependency>

          3.修改spring配置文件

    <!--整合通用Mapper所做的配置修改
          原始:org.mybatis.spring.mapper.MapperScannerConfigurer
          通用Mapper: tk.mybatis.spring.mapper.MapperScannerConfigurer
        -->
        <bean id="scannerConfigurer" class="tk.mybatis.spring.mapper.MapperScannerConfigurer">
     <!--扫描的dao的包的路径-->
            <property name="basePackage" value="com.li.dao"/>
        </bean>

    二、AccountMapper的接口实现

          继承Mapper接口,泛型为实体类

    public interface AccountMapper extends Mapper<Account> {
    
    }

    三、在Service中注入就可以使用其中方法

    @Service
    @Transactional
    public class AccountServiceImpl {
    
        @Autowired
        private AccountMapper accountMapper;
    
        public Account getOne(Account account){
           return accountMapper.selectOne(account);
        }
    
    }

    四、测试

    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration(locations = "classpath:applicationContext.xml")
    public class TestSpring {
        @Autowired
        private AccountServiceImpl accountService;
        @Test
        public void test01(){
            Account account=new Account();
            account.setName("张三");
            Account one = accountService.getOne(account);
            System.out.println(one);
        }
    }

    注意:在创建实体类时,如果表名和表中属性名与数据库中不一致可使用注解:@table、@Column

               数据库中表名或者字段名:tb_user   对应   实体类的名字: tbUser

    /**
     * @Table :name:指定数据库中表的名称
     */
    @Table(name = "account")
    public class account{
       /**
       *  @Id: 主键
       *   @GeneratedValue(strategy = GenerationType.IDENTITY) :主键自增
       */
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        private Long id;
        
        @Column(name="cid")
        private Long cid;
    
        private String name;
        //此注解可以使改属性不映射到数据库表中
        @Transient
        private List<SpecParam> params;
  • 相关阅读:
    每日一题 为了工作 2020 0412 第四十一题
    每日一题 为了工作 2020 04011 第四十题
    每日一题 为了工作 2020 0410 第三十九题
    每日一题 为了工作 2020 0409 第三十八题
    每日一题 为了工作 2020 0408 第三十七题
    每日一题 为了工作 2020 0407 第三十六题
    每日一题 为了工作 2020 0406 第三十五题
    每日一题 为了工作 2020 0405 第三十四题
    学习总结(二十四)
    学习总结(二十三)
  • 原文地址:https://www.cnblogs.com/cqyp/p/12813090.html
Copyright © 2011-2022 走看看