当前位置: 首页 > article >正文

【MyBatis】MyBatis项目的创建、配置和启动

前言 

在框架的学习中,往往第一步是最难的,也就是项目的创建以及运行。因此,本篇博文将带领大家手把手进行 MyBatis 项目的创建、配置以及启动。

目录

一、MyBatis项目的创建

二、MyBatis的配置

2.1 设置数据库的连接路径

2.2 xml的保存路径和命名格式

 2.3 配置程序运行后打印SQL语句

三、MyBatis的启动

3.1 创建一个表

3.2 创建表对应的类

3.3 创建Mapper接口

3.4 创建Mapper的.xml文件 

3.5 测试查询是否生效


一、MyBatis项目的创建

第一,点击 File->New->Project 选择 Spring 项目。

第二,选择 Maven ,并选择你的 jdk 版本。

第三,添加相关的依赖。 

第四步,起项目名。 

第五步,删除 4 个无用项。 

第六步,右击项目名添加框架支持为 Maven 。

由于我的 idea 2021 版本,jdk 1.8 版本。因此在创建项目的时候没有对应的选项,因此当你的项目创建时没有对应的版本选项时候,在 pom.xml 文件中将对应的 spring 框架版本、jdk 版本、mybatis 版本修改为适合你的版本,再刷新 Maven 即可。

以下为我的 idea2021 jdk 8 版本对应修改的部分:

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.7.14</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<properties>
		<java.version>1.8</java.version>
	</properties>
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>2.3.1</version>
		</dependency>
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter-test</artifactId>
			<version>2.3.1</version>
			<scope>test</scope>
		</dependency>

二、MyBatis的配置

当创建好 MyBatis 项目后,启动时会发现项目不能正常的运行那是因为 MyBatis 没有找到对应的数据库。也就是说,要想 MyBatis 启动必须得给它配置连接数据库的路径以及要有配置好能够操作数据的文件。


2.1 设置数据库的连接路径

application.properties 文件加入以下代码:

# 设置数据的连接信息
spring.datasource.url=jdbc:mysql://localhost:3306/你的数据库名?characterEncoding=utf8&useSSL=false
spring.datasource.username=root
spring.datasource.password=你的密码
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

上述代码与 jdbc 流程一致,但省略了创建并初始化数据源等代码,不得不说框架是一个轻量的工具。


2.2 xml的保存路径和命名格式

application.properties 文件继续加入以下代码:

# 设置 MyBatis xml 存放路径和命名格式
mybatis.mapper-locaptions=classpath:mybatis/*Mapper.xml

mybatis.mapper-locaptions 的作用是指定 MyBatis 映射文件(mapper XML 文件)的位置。这些映射文件包含了 SQL 语句和映射规则,MyBatis 使用这些文件将 SQL 语句与 Java 方法关联起来。因此,需要在 resources 文件底下创建一个包,并在包底下创建一个 xml 文件。


 2.3 配置程序运行后打印SQL语句

application.properties 文件继续加入以下代码:

# 配置 MyBatis 执行时打印 SQL
mybatis.configuration.log.impl=org.apache.ibatis.logging.stdout.StdOutImpl
logging.level.com.example.包名=debug

mybatis.configuration.log.impl 在 MyBatis 中是一个非常重要的配置项,它用于定义 MyBatis 在执行 SQL 语句时所使用的日志实现。

此外,Spring Boot 的默认打印日志为 info ,由于 MyBatis 是基于 Spring Boot 项目底下执行的,因此需要将执行 SQL 语句的包名日志设置为 debug 以便区分。


三、MyBatis的启动

3.1 创建一个表

创建一个表 User 包含 idnameage 属性,并插入一条数据,通过此表来演练使用 MyBatis 来查询数据。

mysql> create table user (
    -> id int primary key,
    -> name char(10),
    -> age int
    -> );
Query OK, 0 rows affected (0.03 sec)

mysql> insert into user (id,name,age) value(1,"Bob",19);
Query OK, 1 row affected (0.00 sec)

3.2 创建表对应的类

 创建一个 model 包里面包含 User 类,给上 @Component 注解,并生成 toString 方法:

package com.example.demo.model;

import org.springframework.stereotype.Component;

@Component
public class User {
    private int id;
    private String name;
    private int age;

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

3.3 创建Mapper接口

创建一个 dao 包里面包含接口 UserMapper

package com.example.demo.dao;

import com.example.demo.model.User;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface UserMapper {
    List<User> getAll();
}

MyBatis Mapper 接口是 MyBatis 框架中用于定义数据库操作接口的一种规范。它允许开发者通过接口的方式来进行数据库操作,而无需直接编写SQL语句(尽管在某些情况下,直接编写SQL仍然是必要的)。Mapper 接口中的方法通常与数据库中的表或视图相关联,每个方法对应一个特定的数据库操作,如查询、插入、更新或删除。 


3.4 创建Mapper的.xml文件 

resources 文件底下,创建 mybatis 包,包底下创建 UserMapper.xml 文件:

<?xml version="1.0" encoding="UTF-8"?>
        <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybati
s.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.dao.UserMapper">
        <select id="getAll" resultType="com.example.demo.model.User">
                select * from user
        </select>
</mapper>

此时所有的代码已经编写好了,项目的目录应与下图对应。 


3.5 测试查询是否生效

UserMapper 接口中右击弹出的方框中选择 Test 创建一个测试类用来查看上述的查询是否生效。 

@SpringBootTest
class UserMapperTest {

    @Autowired
    private UserMapper userMapper;

    @Test
    void getAll() {
        List<User> list = userMapper.getAll();
        System.out.println(list);
    }
}

 运行后,控制打印了执行结果,证明上述操作是有效的:


以上就是今天博客的内容,下期讲解 MyBatis 更为详细的使用,感谢各位的观看。 


http://www.kler.cn/a/460695.html

相关文章:

  • 只谈C++11新特性 - 内联命名空间
  • C# 设计模式(结构型模式):组合模式
  • vue2、element的el-select 选项框的宽度设置、文本过长问题
  • Echarts+vue电商平台数据可视化——webSocket改造项目
  • LinuxC高级day5
  • 智慧工地系统:建筑施工智能化管理的全新模式
  • 异步请求在TypeScript网络爬虫中的应用
  • docker Oracle设置rman自动备份步骤
  • Linux jupyter notebook Matplotlib 无法显示汉字
  • 企业储能电站 储能配电柜监测管理系统
  • 基于微信小程序的校园点餐平台的设计与实现(源码+SQL+LW+部署讲解)
  • 深度解析PXE技术与实践应用
  • 【复刻】数字化转型是否赋能企业新质生产力发展?(2015-2023年)
  • 发文章用哪个平台比较好?哪些问题会影响到媒体出稿的速度?
  • 确保大语言模型(LLM)安全:保护数据隐私与防止滥用
  • NVR录像机汇聚管理EasyNVR可设置预置位与实际预置位不符应该如何处理?
  • 【Spring MVC 常用注解】注解驱动开发的魔法
  • 使用Python爬取BOSS直聘职位数据并保存到Excel
  • 记录开发工具
  • MySQL第二弹----CRUD
  • Caffeine Cache Java缓存组件
  • 以图像识别为例,关于卷积神经网络(CNN)的直观解释
  • 【Golang 面试题】每日 3 题(十二)
  • FPGA交通灯实现
  • Spring Boot 3 构建统一的请求响应参数、异常处理、以及统一的异常状态码
  • 在计算机网络中,什么是集群?