Maven是专门用于管理和构建Java项目的工具,主要功能
1.提供一套标准化的项目结构
2.提供一套标准化的构建流程(编译测试打包发布
3.提供一套依赖管理机制
jar包仓库:
本地仓库,中央仓库,远程仓库(私服)
导入jar包时,先从本地仓库找,如果没有,前往中央仓库寻找(如果有私服先找私服),找到后下载到本地仓库(有私服下载到私服)
下载安装配置
1.官网下载后解压
2.配置环境变量
验证一下
3.配置本地仓库
修改conf/settings.xml中的<lacalRepository>为一个指定目录
4.配置阿里云私服
修改conf/settings.xml中的<mirrors>标签为其添加以下子标签
IEDA中使用maven
一、配置maven
settings中,搜索到maven后,取消掉idea自带的maven路径,采用自己的路径将maven路径设置好,再将配置文件设为自己手动更改过的settings.xml文件,修改过的settings文件的本地库地址为自己手动设定的地址,并且有druid数据库连接池的配置信息
Maven坐标
Maven中的坐标是资源的唯一标识,使用坐标来定义项目或者引入项目中需要的依赖
Maven坐标的主要组成:
groupld:定义当前Maven项目隶属组织名称n(通常是域名反写例如com.itheima)
artifactid:定义当前Maven项目名称(通常是模块名称,例如order-service\goods-service)
version:定义当前项目版本号
依赖管理
通过编写maven项目的pom.xml文件,来添加jar包
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.28</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.8</version>
</dependency>
</dependencies>
将junit包、druid包、mysql-connector包加入
加入的包的坐标不知道?
Maven Repository: Search/Browse/Explore (mvnrepository.com)
搜索想要的jar包,复制粘贴
当修改完配置文件后,一定要进行加载
或者右键
依赖范围
例如
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.28</version>
<scope>test</scope>
</dependency>
就是把mysql连接jar包的使用范围规定在test
MyBatis快速入门
1.什么是MyBatis
一款持久层框架,用于简化JDBC开发
持久层:负责将数据保存到数据库那一层的代码
JavaEE三层架构:表现层、业务层、持久层
2.在Maven项目中使用
如果使用 Maven 来构建项目,则需将下面的依赖代码置于 pom.xml 文件中:
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>x.x.x</version>
</dependency>
xxx为版本号,引入mysql连接包,mybatis包,日志包,junit包
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.28</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.13</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.2.3</version>
</dependency>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
①加载mybatis核心配置文件,获取SqlSessionFactory(官网复制)https://mybatis.net.cn/getting-started.html
String resource = "org/mybatis/example/mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
②获取SqlSession对象,用它来执行sql
SqlSession sqlSession = sqlSessionFactory.openSession();
③执行sql语句
④释放资源
Mapper代理开发
目的:解决原生方法中的硬编码,简化后期执行SQL
1.定义与SQL映射文件同名的Mapper接口,并且将Mapper接口和SQL映射文件放置在同一目录下
2.设置SQL映射文件的namespace属性为Mapper接口全限定名
3.在Mapper接口中定义方法,方法名就是SQL映射文件中SQL语句的id,并保持参数类型和返回值类型一致
4.编码:1.通过SqlSession的getMapper方法获取Mapper接口的代理对象
2.调用对应方法完成sql的执行
三步走:编写接口方法->编写sql->执行方法
//MybatisX小插件,方便快速查找映射文件及对应的SQL语句,两只小鸟
mapper.xml文件中resultMap属性
id;唯一标识
type;映射类型,支持别名
column;表的列名
property;实体类的属性名
1.定义<resultMap>标签
2.在<select>标签中,使用resultMap属性替换resultType属性
<resultMap id= "xxx" type="x">
<result column="column_name" property"columnName"/>
</resultMap>