• 通用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;
  • 相关阅读:
    [LuoguP1445][LOJ#10202]樱花
    [APIO/CTSC2007]动物园
    [LOJ#10157]皇宫看守
    python3安装crypto出错,及解决方法
    Qt之QuaZip编译-使用教程
    CentOS-NAT模式下(DHCP)联网
    CentOS桌面环境中网卡启动失败
    Linux基础--基础命令
    Linux基础 --1
    python面试题----4
  • 原文地址:https://www.cnblogs.com/cqyp/p/12813090.html
Copyright © 2020-2023  润新知