如何使用Maven创建Mybatis项目

2023-05-16

1.打开idea,依次点击左上角的File->New->project
在这里插入图片描述
2.选择Maven,然后点击Next
在这里插入图片描述
3.通过点击这个文件夹进行文件存放地址的改变,然后输入项目的名字
在这里插入图片描述
4.再点击Finish,Maven项目就创建好了
在这里插入图片描述
5.然后在pom.xml文件中加入Mybatis相关依赖

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>MybatisDays01</artifactId>
    <version>1.0-SNAPSHOT</version>
    //以下为依赖
    <dependencies>
        <!--  mysql连接      -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.16</version>
        </dependency>
        <!--    开启日志    -->
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.3.0-alpha14</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-core</artifactId>
            <version>1.3.0-alpha14</version>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-access</artifactId>
            <version>1.3.0-alpha14</version>
        </dependency>
        <!--    小辣椒      -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.22</version>
            <scope>provided</scope>
        </dependency>

        <!--    测试依赖         -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13.1</version>
            <scope>test</scope>
        </dependency>
        <!--      mybatis依赖        -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.7</version>
        </dependency>
    </dependencies>
    </project>

6.添加好相应依赖后,点击刷新进行相关依赖的下载
在这里插入图片描述
下载好后,按以下图示步骤查看依赖是否下载成功
在这里插入图片描述
7.配置 XML文件,我的XML文件为mybatis-config.xml, XML文件配置不唯一,可以参考Mybais官网进行配置

<?xml version="1.0" encoding="UTF-8" ?>
<!--mybatis 官方約定该文件必须包含哪标签,不能超过官方提供标签的范围-->
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!-- 设置 mybatis的一些行为;开启mybatis为我们提供的一些强大的功能-->
    <settings>
        <!-- 开启日志功能       -->
        <setting name="logImpl" value="SLF4J"/>
          <!--  驼峰命名映射      -->
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>
    <!-- 配置数据库的连接-->
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <!--     数据库驱动          -->
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <!--         数据库名称,mysql时区设置       -->
                <property name="url" value="jdbc:mysql://localhost:3306/java2215?serverTimezone=Asia/Shanghai"/>
                <!--        用户名        -->
                <property name="username" value="root"/>
                <!--         密码       -->
                <property name="password" value="135212"/>
            </dataSource>
        </environment>
    </environments>

    <!--核心配置文件关联 sql 映射文件-->
    <mappers>

    </mappers>
</configuration

8.配置完成,利用Mybatis对部门表进行增删改查(CRUD)
1.首先新建包
在这里插入图片描述
包的命名要规范在这里插入图包的命名片描述
然后再bean包下新建Departments类,类名首字母大写,要规范
在这里插入图片描述
数据库中的部门表相应字段
在这里插入图片描述

package com.baqn.bean;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @author NXX
 * @version 1.0
 * @date 2022/7/30 8:41
 */
/*
@Data
@AllArgsConstructor
@NoArgsConstructor
是小辣椒的相应功能,其中@Data就相当于,getter,setter,toString,
@AllArgsConstructor有参构造方法
@NoArgsConstructor无参构造方法
通过小辣椒,可以减少代码量
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Departments {
    //将数据库中的字段和所建的类的字段要一一对应,其中dept_code要写成驼峰命名形式,因为在XML文件中已开启驼峰命名形式
     private String deptCode;
     private String name;
}

2.然后新建一个包(dao),在dao包下新建DepartmentsDao接口
在这里插入图片描述

package com.baqn.dao;
import com.baqn.bean.Departments;


/**
 * @author NXX
 * @version 1.0
 * @date 2022/7/26 18:47
 */
public interface DepartmentsDao {
     //获取部门表所有数据方法,由于有多条数据,所以使用集合
    List<Departments> getDeptList();
}

3.在resourse包下新建一个mapper包,在mapper中新建DepaermentMapper.xml
在这里插入图片描述

<?xml version="1.0" encoding="UTF-8" ?>
<!--sql映射文件:约束 sql映射相关的标签   -->
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- namespace 和 dao层的相关接口的全限定名保持一致即可-->
<mapper namespace="com.baqn.dao.DepartmentsDao" >
<!--  Departments getDeptList(); id中的值为dao层定义的方法名,查询语句需要一个返回类型-->
<select id="getDeptList" resultType="com.baqn.bean.Departments">
    SELECT
        *
    FROM
        l_departments
</select>
</mapper>

3.在mybatis-config.xml的中加入
在这里插入图片描述

4.在test包下新建包,类,进行查询部门表数据所有数据测试
在这里插入图片描述

package com.bdqn.bean;

import com.baqn.bean.Departments;
import com.baqn.dao.DepartmentsDao;
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 org.junit.Before;
import org.junit.Test;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

/**
 * @author NXX
 * @version 1.0
 * @date 2022/7/30 9:35
 */
public class DepartmentTest {

    private SqlSessionFactory sqlSessionFactory;
    //@Before注解用于每次代码运行都会先执行该注解下的代码
    @Before
    public void initSqlSessionFactory() throws IOException {
        //核心配置文件的路径
        String resource = "mybatis-config.xml";
        //通过流的方式读取核心配置文件
        InputStream inputStream = Resources.getResourceAsStream(resource);
        //构建一个建造者
        SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
        //通过建造者,最终创建生产工厂
        sqlSessionFactory = builder.build(inputStream);
    }
    // 在方法上加上 @Test就可以单独运行该注解下的代码
    // @Before,  @Test都是junit中的注解
    @Test
    public void getDeptList(){

        SqlSession sqlSession = sqlSessionFactory.openSession();
        //获得DepartmentsDao的代理对象,此处用到动态代理
        DepartmentsDao mapper = sqlSession.getMapper(DepartmentsDao.class);
        //通过代理对象调用getDeptList()方法,获得部门集合
        List<Departments> deptList = mapper.getDeptList();
        //
        for (int i = 0; i < deptList.size(); i++) {
            System.out.println(deptList.get(i));
        }
        //lambda表达式
//       deptList.forEach(x-> System.out.println(x));

    }
}

5.运行结果:
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用Maven创建Mybatis项目 的相关文章

  • Microsoft SQL Server占用大量磁盘空间的解决办法

    2019 的参考这个 https blog csdn net Carmelo 7 article details 116667368 我的是2016 找到文件是在 Program Files Microsoft SQL Server MSS
  • mybatis 一对多关系映射 select子查询 只有一条数据 解决方案

    一般一对多 多的那个会是联合主键 所以要这么设置 span class token tag span class token tag span class token punctuation lt span resultMap span s
  • shell脚本命令启动jar包

    span class token comment bin sh span port 61 8080 span class token comment 定义变量等号左右不能有空格 span jar name 61 span class tok
  • vantui 复选框checkbox 加 折叠面板 collapse 组合使用

    代码量不多 自己看下吧 希望对你有帮助 span class token tag span class token tag span class token punctuation lt span template span span cl
  • Python 报错:unsupported operand type(s) for +: ‘dict_items‘ and ‘dict_items‘

    因为在python3中dict items 返回的是一个对象 xff0c 不能进行 43 操作 xff0c 因此报错
  • Java计算平方根

    Java基础 xff0c 对数值的处理 xff0c 很重要的细节操作 标题1376 计算平方根 Time Limit 1 Sec Memory Limit 128 MB Description 输入一个整数 xff0c 计算平方根并输出 I
  • 建造者模式(设计模式详解)

    建造者模式 描述特点实现Http请求实体建造者指导者客户端 使用场景 描述 建造者模式是一种创建型设计模式 xff0c 它允许您创建复杂的对象 xff0c 而无需直接指定它们的具体类型 它通过将对象的构造过程分解为多个简单的步骤 xff0c
  • CSS之选择器(一)普通选择器

    1 CSS选择器概述 通过选择器可以选定页面中的指定元素 xff0c 对HTML页面中的元素实现一对一 一对多或者多对一的控制 HTML页面中的元素都是通过CSS选择器进行控制的 2 CSS选择器 1 一般选择器 一般选择器 选择器示例示例
  • vs code写python代码时遇到蓝色波浪线“word“: Unknown word.cSpell[1,1]解决方法

    vs code写python代码时遇到蓝色波浪线 34 word 34 Unknown word cSpell 1 1 解决方法 从上面的两张图片都出现有cSpell xff0c 这个单词其实是code spell checker扩展检查p
  • ubuntu 18.0.4以上版本系统内网双网口设置方法

    需求 xff1a 18以上版本系统与老版本有很大区别 xff0c 目前有线网卡用于SSH及本地内网连接 xff0c 无线用于外网连接 xff0c 用笔记本SecureCRT通过有线操作ubuntu设备 xff0c 而且还要保证Ubuntu设
  • 操作系统的概念、功能和目标

    大家都熟悉的操作系统 windowsAndroidiosmacoslinux 本节框架 xff1a 定义 xff1a 操作系统是指控制和管理整个计算机系统的硬件和软件资源 xff0c 并合理地组织调度计算机的工作和资源的分配 xff0c 以
  • SpringBoot整合FreeMarker

    一 FreeMarker简述 在线文档 xff1a http freemarker foofun cn FreeMarker 也是一款模板引擎技术 xff0c 它是一种基于模板和要改变的数据 xff0c 并用来生成输出文本 HTML网页 x
  • SpringMVC的执行流程

    前言 当你知道springMVC的执行流程的时候 xff0c 会达到是事半功倍的学习效果 SpringMVC执行流程 首先明确 xff1a SpringMVC的执行过程就是 xff1a 客户端或者浏览器发送请求到后端服务器 xff0c 后端
  • archLinux安装记录

    archLinux安装记录 基于wsl的arch 启用wsl 首先 xff0c 按Win 43 S搜索启用或关闭Windows功能 xff08 Turn Windows features on or off xff09 打开虚拟机平台和WS
  • mac风格的windows11

    结果 工具下载 链接 xff1a https pan baidu com s 1bVkGI2FZ1Y6tziRMFdP3fw 提取码 xff1a MACC windows11微软官网纯镜像 链接 xff1a https pan baidu
  • AD学习问题记录(四):AD21布线时如何更改线宽

    目录 问题 xff1a 布线时发现线比需要的细解决 xff1a 更改规则结果总结 目前使用的版本是AD21 问题 xff1a 布线时发现线比需要的细 在PCB布线的时候 xff0c 发现线宽比较细 xff0c 于是在右侧的Propertie
  • FAILURE: Build failed with an exception.* What went wrong:Execution failed for task ‘:app:compile...

    1 错误原因 笔记 在运行android的项目时报错 咱就是说代码不知道检查多少遍了 反正代码可以肯定的是没错的 于是就去网上搜索啊 按照提示在build gradle Module app 加了如下代码 android compileOp
  • Java实现二分搜索

    二分查找 xff1a 是一种算法 xff0c 其输入是一个有序的元素列表 xff08 必须是有序的 xff09 xff0c 如果查找的元素包含在列表中 xff0c 返回其索引 xff0c 否则返回负数 比如说有一个1 100的数字 xff0
  • Python if else条件语句你懂了吗?

    在 Python 中 xff0c 可以使用 if else 语句对条件进行判断 xff0c 然后根据不同的结果执行不同的代码 xff0c 这称为选择结构或者分支结构 Python 中的 if else 语句可以细分为三种形式 xff0c 分
  • 嵌入式学习系统里的ROM和RAM(转载)

    一个嵌入式项目在立项时 xff0c 其中有个重要的环节就是对系统所需的RAM和ROM用量进行评估 xff0c 在满足系统需求的前提下 xff0c 尽量降低硬件成本 xff0c 据说同等大小的RAM价格大概是ROM的6倍 大部分的资料都宣称程

随机推荐

  • 关于Mysql8.0.22服务无法启动问题

    关于Mysql8 0 22服务无法启动问题 1 官网下载 解压完成后 不存在data文件夹 也不要自己创建 后面会用命令生成 请往后看 2 创建my ini文件 xff08 一定要放在bin目录下 xff0c 不要放在mysql8 0 22
  • 查找Ubuntu中安装软件的位置

    查找Ubuntu中安装软件的位置 下面仅自我学习记录只做参考 xff0c 不可全信 通常使用ps e 找到软件的具体名字 xff0c 然后进行位置查找 自我记录 1 执行程序查看 对于有的程序没有效果 type 软件名 2 通过进程查看 p
  • Python爬虫:第三章 数据解析 xpath解析(12)

    第三章 数据解析 xpath 解析xpath 解析基础example1 爬取58二手房中的房源信息example2 解析下载图片数据example3 全国城市名称爬取 xpath 解析 xpath 解析基础 span class token
  • java获取项目文件绝对路径

    该方法是先根据指定目录创建文件目录后 xff0c 再获取起绝对路径 xff0c 可先在指定目录中放入指定文件 xff0c 这样就可以直接获取起绝对路径 span class token keyword public span span cl
  • 三分钟带你了解最成熟最流行的LAMP网站应用架构

    三分钟带你了解最成熟最流行的LAMP网站应用架构 一 LAMP概述1 各组件的主要作用2 各组件安装顺序 二 编译安装Apache httpd服务准备工作1 关闭防火墙 xff0c 将安装Apache所需软件包传到 opt目录下2 安装环境
  • IDEA通过maven配置Spring保姆级教程

    写在前面 xff1a 此篇文章主要是记录IDEA利用maven配置Spring的全过程 由于本人也是慢慢探索出来的 xff0c 所以有不全或者遗漏的地方 xff0c 还请大家斧正 请耐心看完文章 xff0c 前期工作做完后IDEA才可以配置
  • 策略梯度算法(Policy Gradient)逐行代码详解

    理论部分以及完整代码参看之前的博客 xff1a https blog csdn net qq 47997583 article details 124506650 本文章介绍的是策略梯度算法中的REINFORCE实现 上图为算法流程图 xf
  • python爬虫(自动下载图片)

    爬虫第一步下载第三方工具 requests包 win 43 R 输入cmd点击确定或回车 输入以下命令下载requests包 requests包是python爬虫常用的包 他的下载方式是 pip install requsts 如果觉得下载
  • python json格式转字典

    impor json req 61 json loads 转换的内容
  • mysql安装5.7出现闪退解决办法

    MySQL下载官网 下载地址 xff1a https dev mysql com downloads mysql 我之前用的是5 5的版本升级到5 7是将所有的数据生成到文件里 命令 mysqldump u root p all datab
  • 小程序设置、获取本都缓存、发送请求、渲染数据、转发当前页面、下拉刷新页面

    设置 获取缓存 xff0c 发送请求 xff0c 渲染数据 xff0c 转发当前页面 设置 获取本地缓存设置本地缓存 xff08 wx setStorage xff09 获取本地缓存 xff08 wx getStorageSync xff0
  • cnpm安装步骤

    安装nodeJS 官网下载 xff1a http nodejs cn download 选择其他版本下载地址 https nodejs org zh cn download releases 选版本点击下载 然后下载后缀名为msi 因为安装
  • likeadmin权限管理菜单报错:AxiosError

    报错图片 xff1a 这个原因是后端返回的 JSON 数据太多而导致前端报错 xff0c 可能是因为前端无法处理大量数据 下面是一些可能导致前端代码处理大量数据出现问题 返回json数据中的末尾有说到数据太多了的原因 然后我去数据库的sys
  • Vue安装

    Vue安装 一 安装二 使用步骤1 在项目中使用vue2 使用命令创建vue项目 一 安装 安装vue之前需要安装nodeJS 1 需要安装Node js 可以从官方网站进行下载并安装 2 这篇博客有详细的步骤 Node js安装详解 3
  • Thinkphp6模型关联

    文章目录 前言一 一对一关联示例 二 一对多三 多对多四 示例总结hasManybelongsTohasOne 前言 ThinkPHP 6 模型关联是指使用 PHP 对象关系映射 xff08 ORM xff09 机制 xff0c 通过模型类
  • Linux----生产者与消费者

    生产者与消费者 模型场景分析 xff1a 编程流程 xff1a 生产者同步流程消费者同步流程 代码实现主函数生产者线程函数消费者线程函数 模型场景 分析 xff1a 缓冲区buff中存放数据 生产者和消费者数目不固定 xff0c 生产者向缓
  • 一篇文章了解Like用法及常见索引失效情况

    1 简介 本文主要通过介绍Like索引及常见索引失效情况 xff0c 以MySQL为例 2 EXPLAIN关键字 一条查询语句在经过MySQL查询优化器的各种基于成本和规则的优化会后生成一个所谓的执行计划 EXPLAIN 语句 就可以看到某
  • Linux——进程和计划任务管理(理论+实验)

    目录 前言一 程序 进程线程概述1 1 程序1 2 进程1 3 线程1 4 程序 进程和线程的关系1 5 程序和进程的关系 二 查看进程2 1 1 ps 命令 查看静态的进程统计信息 xff08 Processes Statistic xf
  • Uncaught SyntaxError: Unexpected token ‘var‘

    遇到Uncaught SyntaxError Unexpected token 39 var 怎么去解决 1 发现报错 xff0c 就去找报错 2 怎么查找这个报错并修改这个报错 3 为什么我写的时候没有提示报错 xff0c 运行的时候才显
  • 如何使用Maven创建Mybatis项目

    1 打开idea xff0c 依次点击左上角的File gt New gt project 2 选择Maven xff0c 然后点击Next 3 通过点击这个文件夹进行文件存放地址的改变 xff0c 然后输入项目的名字 4 再点击Finis