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;
  • 相关阅读:
    Java正则表达式, 提取双引号中间的部分
    如何快速找到未知长度单链表的中心点的值
    西格玛
    对数
    jquery显示隐藏toggle
    JavaScript:改变li前缀图片和样式
    jquery点击改变图片src源码并toggle
    jquery点击改变class并toggle
    linux下合并两个文件夹
    编译安装httpd
  • 原文地址:https://www.cnblogs.com/cqyp/p/12813090.html
Copyright © 2011-2022 走看看