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;
  • 相关阅读:
    JavaScript 之 typeof
    Octotree Chrome安装与使用方法
    支持主流MySQL中间件的数据迁移工具ora2mysql
    Eclipse搭建SpringBoot之HelloWorld
    Spring Boot插件spring tool suite安装及使用
    树的前中后序遍历非递归实现
    判断是否是完全二叉树
    Leetcode 437_path sum III todo
    DFS回溯只在递归基回溯————leetcode112
    Leetcode 94 Binary Tree Inorder
  • 原文地址:https://www.cnblogs.com/cqyp/p/12813090.html
Copyright © 2011-2022 走看看