- Maven和MyBatis入门
- Maven
- 为什么要使用maven
- 提供统一项目结构
- 提供统一构建流程
- 提供包的依赖
- 安装步骤
- 1. 直接解压到任意目录,不要有中文,目录结构不要太深
- 2. 配置环境变量
- 前提:Java环境变量要配置好,因为maven是运行在JVM中
- 配置项
- MAVEN_HOME=安装目录
- Path=%MAVEN_HOME%\bin
- mvn.cmd可执行文件
- MAVEN_HOME=安装目录
- 3. 在命令行下运行
- mvn -v
- maven的配置
- 创建本地仓库
- 1. 在d:创建一个空文件夹,起名:repository
- 2. 将repository.rar 包解压到上面d:/repository目录下
- 修改conf/settings.xml文件
- 1. 修改本地仓库的地址
- 54行: <localRepository>d:\repository</localRepository>
- 2. 修改远程仓库的镜像地址
- <mirror> <id>nexus-aliyun</id> <mirrorOf>*</mirrorOf> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror>
- 3. 指定默认的JDK版本为1.8
- <profile> <id>NewBoy</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.8</jdk> </activation> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> </properties> </profile>
- 1. 修改本地仓库的地址
- 创建本地仓库
- 在idea中配置maven
- 配置当前工程
- 运行的配置
- -DarchetypeCatalog=internal
- 配置以后新创建的工程
- 将上面的配置重新再配置一次
- 配置当前工程
- 在idea中创建maven工程
- 创建一个空的工程
- 每个模块使用maven来创建
- maven工程结构
- 创建一个空的工程
- 仓库分类
-
- 本地仓库:先从本地仓库下载jar包,如果没有才从远程仓库下载,下载下来以后会在本地仓库缓存。
- 远程仓库
- 中央仓库:官网
- https://repo1.maven.org/maven2/
- 私服:公司内部局域网
- 第三方公共库:阿里云
- https://maven.aliyun.com/mvn/view
- 中央仓库:官网
- 坐标
- groupId:公司或组织名字
- artifactedId:模块或工程名字
- version:版本号,如果是开发中工程通常后面会添加SNAPSHOT
- 本质上代表三级目录,groupId有可能代表一级或多级目录
- 可以通过这个网址搜索坐标写法:https://mvnrepository.com/
-
- 生命周期的命令
- clean:删除target目录,target目录存放字节码文件目录
- compile:只编译main目录下源代码,不会编译test目录下源代码
- test:测试test目录下所有的类和方法
- package:打成jar包到target目录下,会将前面的命令再执行一次
- install:将jar包安装到本地仓库
- jar包的依赖范围
- 三种类路径
- 编译类路径:在main目录下可用
- 测试类路径:在test目录下可用
- 运行时类路径:在target目录下可用
- (pom.xml文件中的<scope>标签)依赖范围
- 三种类路径
- 打开或关闭maven模块
- 关闭
- 打开
- 关闭
- 在idea中安装插件
- 为什么要使用maven
- MyBatis入门
- MyBatis介绍
- 三层架构
- 表现层
- 直接面向用户,用户看到的界面那一层
- 业务层
- 处理各种业务逻辑的代码:登录,转账,挂号,购物车
- 持久层
- 访问数据库的代码:增删改查
- 表现层
- 持久层的框架:软件的半成品,好处:提交开发效率
- 三层架构
- 入门案例
- 1. 创建maven工程
- 2.在pom.xml 导入依赖包
- <!-- mysql驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.22</version> <scope>runtime</scope> </dependency> <!-- mybatis框架 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.5</version> </dependency> <!-- junit --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency>
- 3. 创建实体类User
- 4. 在resources编写了mybatis-config.xml核心配置文件
- 5. 创建UserMapper接口,编写查询所有用户的方法
- 6. 在resources 下com/itheima/mapper/UserMapper.xml映射配置文件下,编写SQL语句
- 7. test目录下:编写测试类,实现查询操作
-
- 流程
- 1. 读取核心配置文件的输入流
- 2. 创建工厂建造类
- 3. 创建工厂类
- 4. 创建会话对象
- 5. 得到接口的代理对象
- 6. 调用接口的方法实现增删改查
- 7. 关闭会话
- 代码
- 流程
-
- 创建MyBatis的会话工具模板代码
- 代码
- package com.itheima.util;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import java.io.IOException;import java.io.InputStream;/** * mybatis工具类 */public class MyBatisUtils { private static SqlSessionFactory factory; static { //1.读取核心配置文件的输入流 InputStream inputStream = null; try { inputStream = Resources.getResourceAsStream("mybatis-config.xml"); //2.创建工厂建造类 SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder(); //3.创建会话工厂 factory = builder.build(inputStream); } catch (IOException e) { e.printStackTrace(); } } /** * 获取会话对象 */ public static SqlSession getSession() { return factory.openSession(); } /** * 得到会话对象 * * @param openMode true表示自动提交事务,false表示手动提交事务 */ public static SqlSession getSession(boolean openMode) { return factory.openSession(openMode); }}
- 用处:
- 等于封装了一些冗余的代码,使用的使用可以 类名.getSession() 获取到会话对象,并且可以手动提交事务也可以自动提交事务
- 注意:
- 1. 如果获取会话对象的时候没有传递参数 true 开启自动提交事务的话,就得手动提交事务(会话对象.commit();)
- 2. Mybatis中如果要对数据进行 增删改 操作,需要开启自动提交事务或者手动提交事务
- 代码
- mybatis-config.xml核心配置中的常用标签的意义
- settings
- 功能1:控制台显示SQL语句
- typeAliases
- 给实体类定义别名,方便映射文件中SQL语句返回值类型的包路径简写
- environments
- environment
- 驱动类<property name="driver" value="com.mysql.jdbc.Driver"/>
- 连接数据库<property name="url" value="jdbc:mysql:///day18"/>
- 用户名<property name="username" value="root"/>
- 密码<property name="password" value="root"/>
- environment
- mappers
- 扫描包里面所有的 映射文件
- settings
- MyBatis介绍
- Maven
Maven和MyBatis入门
最新推荐文章于 2024-08-13 21:13:17 发布