首页 > 其他分享 >Mybatis简单入门--插入数据

Mybatis简单入门--插入数据

时间:2022-08-18 02:44:19浏览次数:79  
标签:文件 实体类 入门 映射 mapper -- MySQL Mybatis

1. 开发环境

  • IDE:IDEA

  • 构建工具:maven4.0.0

  • MySQL版本:8.0.11、

    记得创建好数据库

  • Mybatis版本:3.5.7

MySQL不同版本的注意事项

  1. 驱动类driver-class-name

    • MySQL 5版本使用jdbc5驱动,驱动类使用:com.mysql.jdbc.Driver

    • MySQL 8版本使用jdbc8驱动,驱动类使用:com.mysql.cj.jdbc.Driver

  2. 连接地址url(下面url中ssm是我的数据库名,记得更改)

    • MySQL 5版本的url:jdbc:mysql://localhost:3306/ssm

    • MySQL 8版本的url:jdbc:mysql://localhost:3306/ssm?useSSL=false

      useSSL=false:不使用安全连接方式。我是不加的话会报错,看情况加了

    注意:localhost也可以换成自己数据库IP地址,像120.77.92.117

2. 创建maven工程

可以先跳到总结看看整个项目目录和代码的执行过程,先大概了解每个文件。

以下代码都写在配置文件pom.xml中。

  1. 打包方式:jar

    <packaging>jar</packaging> <!--打包方式:jar包-->
    
  2. 引入依赖

    <dependencies>
            <!--mybatis 依赖-->
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis</artifactId>
                <version>3.5.10</version>
            </dependency>
    
            <!--mysql 驱动-->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>8.0.11</version>
            </dependency>
    
            <!--junit 单元测试-->
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.13.1</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
    

3.创建实体类:

数据库t_user表字段:

image-20220815174914914

User类中的属性与数据库中对应,记得写上构造方法与get、set方法。

202208172333042.png

4. 创建Mybatis的核心配置文件

  • 习惯上命名为mybatis-config.xml,这个文件名仅仅只是建议,并非强制要求。

  • 核心配置文件存放的位置是src/main/resources目录下

  • 核心配置文件主要用于配置连接数据库的环境以及MyBatis的全局配置信息

那么mybatis-config.xml要怎么写呢?? 官网给了我们一个简单示例。

202208152140468

这是我的配置代码:

202208172333045.png

5. 创建mapper接口

接口起名规则:实体类的类名+Mapper

202208172333046.png

6. 创建Mybatis的映射文件

MyBatis映射文件用于编写SQL,访问以及操作表中的数据

相关概念:ORM(Object Relationship Mapping)对象关系映射。

  • 对象:Java的实体类对象

  • 关系:关系型数据库

  • 映射:二者之间的对应关系

    image-20220817171324490

  1. 映射文件的命名规则:

    表所对应的实体类的类名+Mapper.xml。一般与mapper接口同名

    例如:表t_user,映射的实体类为User,所对应的映射文件为UserMapper.xml

  2. 因此一个映射文件对应一个实体类,对应一张表的操作

  3. MyBatis映射文件存放的位置是src/main/resources/mappers目录下

  4. MyBatis中可以面向接口操作数据,要保证两个一致:

  • mapper接口的全类名和映射文件的命名空间(namespace)保持一致

  • mapper接口中方法的方法名和映射文件中编写SQL的标签的id属性保持一致

不太理解两个一致的,没关系,后面总结时再具体解释说明一下

<?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">

<mapper namespace="com.atguigu.mybatis.mapper.UserMapper">
    <insert id="insertUser">
        insert into t_user values(null,'admin','123456',23,'男','[email protected]')
    </insert>
</mapper>

不要忘了,我们前面在配置核心时mybatis-config.xml没有引入Mybatis映射文件。现在我们已经创建了映射文件,所以要补充上

image-20220817213014244

7.运行结果

image-20220817233736308 image-20220817233817316

8. 总结

使用Mybatis实现简单的数据库插入操作,我们要编写的只有这6个文件:

2022-08-17_223422

我们看看插入操作时,代码执行的主要过程是什么样的:

无标题

还记得映射文件中两个一致吗??

  • mapper接口的全类名和映射文件的命名空间(namespace)保持一致

  • mapper接口中方法的方法名和映射文件中编写sql的标签的id属性保持一致

看到执行过程后,应该明白了吧。

部分内容来自 B站尚硅谷课程 。老师讲得很好,有兴趣的可以听听。

标签:文件,实体类,入门,映射,mapper,--,MySQL,Mybatis
From: https://www.cnblogs.com/tianaqiang/p/16597415.html

相关文章

  • LeetCode 295 Find Median from Data Stream
    Themedianisthemiddlevalueinanorderedintegerlist.Ifthesizeofthelistiseven,thereisnomiddlevalueandthemedianisthemeanofthetwomidd......
  • 复数 和 群论 的 一个 玩法 (逗比版)
    这篇是以前计划要写的,  本来要构思好了正式写,  现在为了来民科吧闹一闹,  只好先写个逗比版  。  玩法一 大家都知道,   ʃ 1/根号......
  • 8.15~8.21
    家教第十五天最后一条,简单一点,给她们一点自信......
  • vue 入门
    idea、webstorm、vsCode,都可以开发吧,脚手架vue-cli项目框架一搭建,就写代码了 --关于vue需要掌握的知识点--- 使用的开发工具是webstorm,它是默认就安装好了vuejs......
  • c语言中返回无符号整数以二进制位表示的形式
     001、#include<stdio.h>intcount_1(unsignedx)//此处定义一个统计unsignedint型数据用二进制位表示时所有1的个数{intcount=0;while(x......
  • Fuzz(持续更新)
    1.什么是Fuzz测试?漏洞挖掘有三种方法:白盒代码审计、灰盒逆向工程、黑盒测试。其中黑盒的Fuzz测试是效率最高的一种,能够快速验证大量潜在的安全威胁。Fuzz测试,也......
  • 8.8~8.14
    家教第八天家教第九天家教第十天......
  • Mac mini和Mac studio
     2020款AppleMacmini八核M1芯片16G512GSSD台式电脑主机7899元  2021款一体机:AppleiMac24英寸4.5K屏八核M1芯片(8核图形处理器)16G512G  价格14......
  • 微信的消息序列号生成实践
    学习一下微信是怎么搞定序列号的。从seqsvr申请的、用作数据版本号的sequence,具有两种基本的性质:1. 递增的64位整型变量2.每给用户有自己独立的64位sequence空间。......
  • c语言中输出整数类数据类型所占据的位数
     001、#include<stdio.h>intcount_1(unsignedx)//定义统计unsignedint型数据二进制位1的个数的函数{intcount=0;while(x){......