Maven和MyBatis入门

  • Maven和MyBatis入门
    • Maven
      • 为什么要使用maven
        • 提供统一项目结构
        • 提供统一构建流程
        • 提供包的依赖
      • 安装步骤
        • 1. 直接解压到任意目录,不要有中文,目录结构不要太深
        • 2. 配置环境变量
          • 前提:Java环境变量要配置好,因为maven是运行在JVM中
          • 配置项
            • MAVEN_HOME=安装目录
            • Path=%MAVEN_HOME%\bin
              • mvn.cmd可执行文件
        • 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>
      • 在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中安装插件
    • 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"/>
        • mappers
          • 扫描包里面所有的 映射文件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值