Day1

Maven的问题

  1. 首先配置环境,MAVEN_HOME,然后在path里加%MAVEN_HOME%\bin
  2. 修改conf\settings.xml 添加一些基本配置.
<!--设置本地仓库路径 -->
    <localRepository>E:\Develop\Maven\maven_repository</localRepository>
<!--设置镜像jar包下载站点. -->
	<mirror>
	  <id>nexus</id>
	  <mirrorOf>*</mirrorOf> 
	  <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
	</mirror>
	<mirror>
	  <id>nexus-public-snapshots</id>
	  <mirrorOf>public-snapshots</mirrorOf>
	  <url>http://maven.aliyun.com/nexus/content/repositories/snapshots/</url>
	</mirror>

  1. 在Settings 里面设置Maven. Maven home ,User settings ,local repository.
  2. Runner 里面 设置VM Options: -DarchetypeCatalog=internal 和 JRE
  3. 使用archetype 出现 编译版本 不支持发行版本5问题
    在conf\settings.xml中添加.
	<profile>
		<id>jdk-12</id>
		<activation>
			<activeByDefault>true</activeByDefault>
			<jdk>12</jdk>
		</activation>
		<properties>
			<maven.compiler.source>12</maven.compiler.source>
			<maven.compiler.target>12</maven.compiler.target>
			<maven.compiler.compilerVersion>12</maven.compiler.compilerVersion>
		</properties>
	</profile>

Mybatis学习

  • 三层结构以及SSM对应关系
    三层结构以及SSM对应关系
    所以应该HTML ->servlet->service->Dao->DB

  • 持久层的技术解决方法
    JDBC技术
    Spring的JdbcTemplate
    Apache的DBUtils:
    以上都不是框架.
    JDBC是规范.Spring的JdbcTemplate和Apache的DBUtils都只是工具类.

  • Mybatis框架概述.
    1.基于java持久层框架,内部封装了jdbc.
    2.通过xml或注解的方式将要执行的各种statement配置起来.
    3.利用ORM思想解决了实体和数据库映射的问题,对jdbc进行了封装,屏蔽了jdbc api底层访问细节.
    ORM(Object Relation Mapping)对象关系映射. 简单的说就是把数据库表和实体类以及实体类的属性对应起来.让我们可以操作实体类就可以操作数据库表. 如user—>User.

  • mybatis环境搭建.
    通过Mybatis官网的入门例子,按自己的情况修改即可.注意第3,5点.
    在这里插入图片描述

  • 同时也可以用注解配置映射. 在Dao方法上 @Select(“SQL”) 就不需要Dao.xml文件. 用注解的话用的就是< mapper class=“com.hk.dao.InUserDao”/>.

Mybatis过程总结

  • 首先创建domain,以及dao接口.domain是User等类. 是最后执行SQL语句后resultType要封装成的类.
  • 配置文件.直接可以复制Mybatis官网的入门里面的配置.修改成自己的路径,文件,数据即可.有两个配置文件,在java包下的resources里面创建xml文件.
    • 一个是SQLConfig.xml .直接复制,修改几处即可.在这里插入图片描述
    • 另一个是同Dao同名且路径名要一模一样的xml.在这里插入图片描述
      namespace该命名就可以直接映射到在命名空间中同名的 Mapper 类,并将已映射的 select 语句中的名字、参数和返回类型匹配成方法。 ID 为Dao接口的方法名, resultType即为查询后要返回的结果类型.
    • 然后再test下创建java文件进行测试即可.
      1,2步直接可以复制,然后openSession()得到Session对象.最后通过Session来获取Dao接口映射的Mapper类,获得接口的代理对象.然后执行接口方法.
      2创建工厂使用了构建者模式.把对象创建的细节隐藏.
      3创建SQLSession对象使用了工厂模式,优势:解耦.
      4创建Dao接口使用了代理模式.优势:不修改源码的基础上,增强已有方法. 在这里插入图片描述
    • selectList分析
      • 执行查询分析
        • 连接信息
          根据properties执行JDBC的那几步.
          1.注册驱动,获取连接.
          2.获取预处理对象PreparedStatement
        • 映射信息 Mapping
          执行查询用到的SQL,以及对结果集的封装需要映射信息.
          包含了两个部分:1.执行的SQL语句, 2.封装结果的实体类全限定类名
          因为可能有多个方法,Mapper怎么对应? 用Key-Value存起来.
          在这里插入图片描述

Maven的父子工程&直接依赖与传递依赖关系.

父子工程: 继承关系,子工程见没有关系,需要通过引用建立依赖关系.
直接依赖与传递依赖的作用域. 如:dao和parent是直接依赖,作用域是compile,而dao和 Junit是传递依赖,作用域是test.相交点是右上角的-.表示这个传递丢失了.也就是说传递到dao中不能用了.
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值