Mybatis、Maven入门学习(二)

note:该篇Mybatis的学习基于maven项目的基础上

一、解决SQL映射文件的警告提示

注:完成IDEA与数据库的连接后,可解决该问题(详见上一篇文章)
IDEA连接上数据库,相当于一个便捷的数据库客户端工具,可编写SQL脚本对数据进行管理。而且IDEA拥有强大的命令补全功能,简化SQL脚本编写成本,极为方便。
在这里插入图片描述
在这里插入图片描述

二、maven项目基础要点

  1. Maven:一款服务于java平台的自动化构建工具。
  2. 构建maven项目
    (1)构建定义:把动态的Web工程经过编译得到的编译结果部署到服务器上的整个过程。
    编译:java源文件[.java]->编译->Classz字节码文件[.class]
    部署:最终在sevlet容器中部署的不是动态web工程,而是编译后的文件。
    (2)构建的各个环节
    清理clean:将以前编译得到的旧文件class字节码文件删除。
    编译compile:将java源程序编译成class字节码文件。
    测试test:自动测试,自动调用junit程序。
    报告report:测试程序执行的结果。
    打包package:动态Web工程打War包,java工程打jar包。
    安装install:Maven特定的概念-----将打包得到的文件复制到“仓库”中的指定位置。
    部署deploy:将动态Web工程生成的war包复制到Servlet容器下,使其可以运行。
    在这里插入图片描述
    在这里插入图片描述
  3. maven的目录结构及常用命令
    根目录:工程名 |—src:源码 |—|—main:存放主程序 |—|—|—java:java源码文件 |—|—|—resource:存放框架的配置文件 |—|—test:存放测试程序 |—pop.xml:maven的核心配置文件
    在这里插入图片描述常用命令:必须进入到pom.xml的目录中执行maven命令
    mvn clean:清理
    mvn compile:编译主程序
    mvn test-compile:编译测试程序
    mvn test:执行测试
    mvn package:打包
    mvn install:安装
  4. Maven的仓库和坐标
    pom.xml:Project Object Model 项目对象模型。它是maven的核心配置文件,所有构建的配置都在这里设置。
    默认仓库:c:\Usrs(登录当前系统的用户名).m2\repository
    坐标:使用三个向量在仓库中唯一的定位一个maven工程。
    在这里插入图片描述
    在这里插入图片描述
    scope表示依赖的范围:
    compile,默认值,适用于所有阶段(开发、测试、部署、运行),本jar会一直存在所有阶段。
    provided,只在开发、测试阶段使用,目的是不让Servlet容器和你本地仓库的jar包冲突 。如servlet.jar。
    runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。
    test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。
    system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。
    ⑤本地仓库:设置在maven\apache-maven-3.6.3\conf的settings文件。
    在这里插入图片描述
    maven坐标和本地仓库对应的映射关系(只针对被依赖的项目坐标?):groupId/artifactId/version/artifactId-version.jar

三、Mapper 代理开发

官网文档:
在这里插入图片描述
入门案例:
1、定义与SQL映射文件同名的Mapper接口,并且将Mapper接口和SQL映射文件放置在同一目录下。
2、设置SQL映射文件的namespace属性为Mapper接口全限定名。
3、在 Mapper 接口中定义方法,方法名就是SQL映射文件中sql语句的id,并保持参数类型和返回值类型一致。
4、编码
①通过 SqlSession 的 getMapper方法获取 Mapper接口的代理对象。
②调用对应方法完成sql的执行。
step1:确保Mapper接口和SQL映射文件放置在同一目录下–>创建同名多级包
IDEA中Mybatis框架下构建多级包:遵循maven的目录结构+Mybatis框架,需在java目录下创建Mapper层,以此对应resource目录下的Mapper.xml配置文件(SQL映射文件)。分别在java和resource下建包:
① java下命名规则:XXX.YYY.ZZZ(用 . 隔开)
在这里插入图片描述
②resource下的命名规则:XXX/YYY/ZZZ(用 / 隔开)
在这里插入图片描述
step2:编写Mapper接口中的方法(selectAll)。
在这里插入图片描述
复制Mapper接口的全限定名:com/itheima/mapper/UserMapper.java
在这里插入图片描述
step3:将映射文件和Mapper接口做对应。
在这里插入图片描述
在这里插入图片描述
step4:将核心配置文件(mybatis-config.xml)和映射文件做对应。
复制配置文件的全限定名:com/itheima/mapper/UserMapper.xml
在这里插入图片描述
在这里插入图片描述
step5:编码,调用方法执行sql
在这里插入图片描述
在这里插入图片描述
工作机制简化如下:获取SqlSession对象–>获取Mapper接口的代理对象(userMapper),可调用接口中的方法,同时可获取到同名的映射文件(UserMapper.xml)–>代理对象调用方法,方法名对应映射文件中的id,进而执行该id下的sql语句*
未采用mapper代理开发时:
在这里插入图片描述
在这里插入图片描述
tips:如果Mapper接口名称和SQL映射文件名称相同,并在同一目录下,则可以使用包扫描的方式简化SQL映射文件的加载。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值