黑马程序员技术交流社区

标题: 学习笔记Mapper [打印本页]

作者: qq1455473334    时间: 2019-7-11 17:53
标题: 学习笔记Mapper
  1.除了基础的ssm三大框架所需的坐标还要两个。
   dao依赖 的 <dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper</artifactId>
            <version>4.1.4</version>
            </dependency>
   pojo或domain依赖的 <dependency>
         <groupId>javax.persistence</groupId>
         <artifactId>persistence-api</artifactId>
         <version>1.0</version>
         <scope>compile</scope>
        </dependency>
  2.持久层接口要继承Mapper(import tk.mybatis.mapper.common.Mapper;)
      public interface AccountDao extends Mapper<实体类>
   没有方法体;
  3.因为dao没有方法体,在Service实现类中注入dao的动态代理对象后就不能再调用自定义的方法;需要调用mapper的方法;
   例如; List<Account> list = accountDao.selectAll();
  4.实体类上面要加注解@Table(name = "实体类小写")
  5,在applicationContext.xml中加载mapper扫描器,产生代理对象;
   <bean class="tk.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.dao"></property>
    </bean>
maven高级
  1.maven是一个项目管理工具;主要作用在项目开发阶段对java项目进行依赖管理和项目构建;
  maven 的常用命令;clean:清理;complie:编译;test:测试;package:打包;install安装;
  maven的传递依赖;
  分别是项目A,项目B以及项目C。假设C依赖B,B依赖A,
  那么我们可以根据maven项目依赖的特征不难推出项目C也依赖A(间接依赖);
依赖冲突:
  两个jar包依赖名字相同的jar,但是他们版本不同,就造成了依赖冲突;
  如何解决依赖冲突;
  1.第一声明优先原则;
   在pom文件中定义依赖,以先声明的为准,其实就是根据坐标顺序来确定终使用哪个传递过来的依
赖。
  2.路径近者优先原则;
   直接导入的坐标优先于依赖的坐标;
  3.排除依赖
   可以使用exclusions标签将传递过来的依赖排除出去;
  要排除那个坐标中依赖的坐标,就把exclusions写在该坐标所在dependency中;
   例如;
     <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-webmvc</artifactId>
         <version>4.2.4</version>
         <exclusions>
             <exclusion>
                 <groupId>org.springframework</groupId>
                 <artifactId>spring-beans</artifactId>
             </exclusion>
         </exclusions>
     </dependency>
  4.版本锁定
   采用直接锁定版本的方法确定依赖jar包的版本,版本锁定后则不考虑依赖的声明顺序或依赖的路径,以锁定的版本
  为准添加到工程中,此方法在企业开发中经常使用。
步骤;
   第一步:在dependencyManagement标签中锁定依赖的版本;
   第二步:在dePendencies标签中声明需要导入的maven坐标;
   注意:pom文件中使用dependencyManagement标签进行依赖jar的版本锁定
         并不会真正将jar包导入到项目中,只是对这些jar的版本进行锁定,
         项目需要使用哪个jar包,还需要在dependencies标签中进行声明;
   maven工程的继承
   maven工程之间也可以继承,子工程继承父工程后,就可以使用在父工程中引入的依赖。继承的目的是为了消除重
   复代码
    1.被继承的maven工程通常称为父工程,父工程的打包方式必须为pom,这是错别该maven工程是否是父工程;
    继承他maven父工程工程称为子工程,在pom.xml文件中通过parent标签进行父工程的继承;
   maven工程的聚合;
   在maven工程中使用标签将其他maven工程聚合在一起,聚合的目标是进行统一操作;
    方式;<modules>
               <module>maven_dao<module>
               <module>maven_service<module>
               <module>maven_web<module>
               <module>maven_pojo<module>
            </modules>




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2