• JavaWeb基础第二章(Maven项目与MyBatis 的快速入门与配置)



    在快速迭代和竞争激烈的现代软件开发中,有效管理项目构建和依赖关系至关重要。Maven,作为一个项目管理工具,不仅提高了开发效率,还提供了一个标准化建筑的平台。在本篇博客中,我们将深入探索Maven的奥秘,从maven的总体理解到Apache Maven的项目对象模型(POM),再到具体的安装配置流程,每一步都将简化开发者对于复杂项目结构的理解与操作。此外,我们还会探讨MyBatis框架的引入及其好处,如何通过它简化JDBC开发,并使数据持久层的工作变得更加直观易懂。这些工具无疑会对你的Java开发旅程产生积极的推动效果。让我们现在就开始这场关于提高项目管理效率和简化数据库操作的精彩旅程吧。

    一、Maven 概括

    在这里插入图片描述
    在这里插入图片描述

    二、Apache Maven 简介

    Apache Maven是一个项目管理和构建工具,他是基于项目对象模型(POM)的概念,通过一下段描述信息来管理项目的构建、报告、文档。

    官网:https://maven.apache.org/
    在这里插入图片描述
    在这里插入图片描述

    三、Maven 安装配置

    在这里插入图片描述
    阿里云私服于2022年换了地址所以第四步的子标签换成了如下代码:

    <mirror>
          <id>mirrorId</id>
          <mirrorOf>repositoryId</mirrorOf>
          <name>Human Readable Name for this Mirror.</name>
          <url>https://maven.aliyun.com/repository/public
       </mirror>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    或者不用阿里云,跳过第4步。

    四、Maven 基本使用

    在这里插入图片描述
    在这里插入图片描述

    五、IDEA 配置 Maven项目

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    六、IDEA 导入 Maven项目

    在这里插入图片描述
    在这里插入图片描述

    七、依赖管理

    在这里插入图片描述
    在这里插入图片描述

    八、依赖范围

    在这里插入图片描述

    九、MyBatis概括

    MyBatis是一款优秀的持久层框架,用于简化JDBC开发
    在这里插入图片描述
    官网:https://mybatis.net.cn/
    持久层
    负责将数据保存到数据库的那一层代码

    JavaEE三层构架:表现层、业务层、持久层

    框架
    在这里插入图片描述

    十、使用MyBatis的好处

    MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
    在这里插入图片描述
    在这里插入图片描述

    十一、MyBatis 的快速入门与配置

    在这里插入图片描述1.创建user表,添加数据

    create table user
    (
        id       int auto_increment,
        username VARCHAR(20) null,
        password VARCHAR(20) null,
        gender   char        null,
        addr     VARCHAR(30) null
    );
    
    insert into  user values (1,'张三','123','男','北京');
    insert into  user values (2,'李四','456','女','上海');
    insert into  user values (3,'王五','789','男','深圳');
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    2.创建模块,导入坐标

     <dependencies>
    
        <dependency>
          <groupId>org.mybatis</groupId>
          <artifactId>mybatis</artifactId>
          <version>3.2.1</version>
        </dependency>
    
        <dependency>
          <groupId>mysql</groupId>
          <artifactId>mysql-connector-java</artifactId>
          <version>5.1.46</version>
        </dependency>
    
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.13</version>
          <scope>test</scope>
        </dependency>
    
        <dependency>
          <groupId>ch.qos.logback</groupId>
          <artifactId>logback-core</artifactId>
          <version>1.2.3</version>
        </dependency>
    
        <dependency>
          <groupId>ch.qos.logback</groupId>
          <artifactId>logback-classic</artifactId>
          <version>1.2.3</version>
        </dependency>
    
        <dependency>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-api</artifactId>
          <version>1.7.20</version>
        </dependency>
    
      </dependencies>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40

    3/4.MyBatis核心配置文件
    mybatis-config.xml

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE configuration
            PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
            "http://mybatis.org/dtd/mybatis-3-config.dtd">
    <configuration>
        <environments default="development">
            <environment id="development">
                <transactionManager type="JDBC"/>
                <dataSource type="POOLED">
    
                    <property name="driver" value="${driver}"/>
                    <property name="url" value="jbdc:mysql:///mybatis?useSSL=false"/>
                    <property name="username" value="${root}"/>
                    <!--        密码自己写,这里我写成了********-->
                    <property name="password" value="${*******}"/>
                </dataSource>
            </environment>
        </environments>
        <mappers>
    <!--        加载sql的映射文件-->
            <mapper resource="UserMapper.xml"/>
        </mappers>
    </configuration>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    UserMapper.xml

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE mapper
            PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
            "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    
    <!--        namespace:名称空间-->
    <mapper namespace="test">
        <select id="selectAll" resultType="JavaWeb.User">
            select * from user;
        </select>
    </mapper>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    5.编码

    package JavaWeb;
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.List;
    
    import org.apache.ibatis.io.Resources;
    import org.apache.ibatis.session.SqlSession;
    import org.apache.ibatis.session.SqlSessionFactory;
    import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    
        public class MyBatisDemo {
            public static void main(String[] args) throws IOException {
                // 1.加载MyBatis配置文件
                // 2.获取SqlSessionFactory对象
                String resource = "mybatis-config.xml";
                InputStream inputStream = Resources.getResourceAsStream(resource);
                SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
                // 3.获取SqlSession对象
                SqlSession sqlSession = sqlSessionFactory.openSession();
                // 4.执行映射文件中的SQL语句
                List<User>users = sqlSession.selectList("test.selectAll");
    
                System.out.println(users);
    
                // 5.关闭SqlSession
                sqlSession.close();
            }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
  • 相关阅读:
    PLSQL导入导出表数据、表结构
    20C++面向对象编程----1、类的封装
    使用HTML5画布(Canvas)模拟图层(Layers)效果
    Easyx基本使用(三)
    CAN bus总线静电保护方案
    中国1,2-戊二醇行业研究与投资战略报告(2022版)
    【无标题】
    一个注解干翻所有Controller
    【深度学习】YOLO-Pose 人体关键点估计 人体姿态估计
    Vue框架中的各种指令(续)
  • 原文地址:https://blog.csdn.net/Du_XiaoNan/article/details/136386818