【Mybatis】学习笔记01:连接数据库,实现增删改 1

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 【Mybatis】学习笔记01:连接数据库,实现增删改

创建文件

q1.png

q2.png

引入Mybatis和mysql驱动

Maven Repository: org.mybatis » mybatis (mvnrepository.com)

q3.png

q4.png

<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.5.9</version>
</dependency>

q5.png

q6.png

<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.28</version>
</dependency>

q1.png

创建MyBatis核心配置文件

核心配置文件

常用名(可以不是这个名字):mybatis-config.xml

作用:配置连接数据库的环境以及Mybatis的全局配置信息

存放目录:src/main/resource

其他:整合Spring之后,该核心文件可省略

右击[resources],[New]>>[File],创建mybatis-config.xml

q2.png

去寻找配置文件的模板

q3.png

q4.png

<?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="${url}"/>
        <property name="username" value="${username}"/>
        <property name="password" value="${password}"/>
      </dataSource>
    </environment>
  </environments>
  <mappers>
    <mapper resource="org/mybatis/example/BlogMapper.xml"/>
  </mappers>
</configuration>

内容介绍如下

<?xml version="1.0" encoding="UTF-8" ?><!--XML文件声明,版本号,编码-->
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd"><!--该XML文件约束是dtd文件规则,和Spring中的约束不一样,但是功能一样-->
<configuration><!--跟标签-->
    <environments default="development">
<!--    接数据库环境-->
        <environment id="development"><!--在该标签内设置具体环境-->
<!--        事务管理器 transactionManager 类型为JDBC-->
            <transactionManager type="JDBC"/><!--事务管理方式为JDBC-->
<!--        dataSource:数据源 | POOLED:数据库连接池-->
            <dataSource type="POOLED">
<!--                驱动名称--><!--欢迎关注哔哩哔哩 萌狼蓝天-->
                <property name="driver" value="${driver}"/>
<!--                数据库地址---><!--欢迎关注哔哩哔哩 萌狼蓝天-->
                <property name="url" value="${url}"/>
<!--                数据库用户名--><!--欢迎关注哔哩哔哩 萌狼蓝天-->
                <property name="username" value="${username}"/>
<!--                数据库密码--><!--欢迎关注哔哩哔哩 萌狼蓝天-->
                <property name="password" value="${password}"/>
            </dataSource>
        </environment>
    </environments>
<!--引入映射文件-->
    <mappers>
        <mapper resource="org/mybatis/example/BlogMapper.xml"/>
    </mappers>
</configuration>

将相关的信息修改为自己的

<?xml version="1.0" encoding="UTF-8" ?><!--XML文件声明,版本号,编码-->
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd"><!--该XML文件约束是dtd文件规则,和Spring中的约束不一样,但是功能一样-->
<configuration><!--跟标签-->
    <environments default="development">
<!--    接数据库环境-->
        <environment id="development"><!--在该标签内设置具体环境-->
<!--        事务管理器 transactionManager 类型为JDBC-->
            <transactionManager type="JDBC"/><!--事务管理方式为JDBC-->
<!--        dataSource:数据源 | POOLED:数据库连接池-->
            <dataSource type="POOLED">
<!--                驱动名称--><!--欢迎关注哔哩哔哩 萌狼蓝天-->
                <property name="driver" value="com.mysql.jdbc.Driver"/>
<!--                数据库地址--><!--欢迎关注哔哩哔哩 萌狼蓝天-->
                <property name="url" value="jdbc:mysql://mllt.cc:3306/edu_smbms"/>
<!--                数据库用户名--><!--欢迎关注哔哩哔哩 萌狼蓝天-->
                <property name="username" value="root"/>
<!--                数据库密码--><!--欢迎关注哔哩哔哩 萌狼蓝天-->
                <property name="password" value="mllt9920"/>
            </dataSource>
        </environment>
    </environments>
<!--引入映射文件 | 下面这个暂时不修改,后面创建了映射文件之后再回来修改-->
    <mappers>
        <mapper resource="org/mybatis/example/BlogMapper.xml"/>
    </mappers>
</configuration>

创建实体类

q5.png

q6.png

private Integer id;//id
    private String userCode;//用户编码
    private String userName;//用户姓名
    private String userPassword;//用户密码
    private Integer gender;//性别
    private Date birthday;//出生日期
    private String phone;//电话号码
    private String address;//地址
    private Integer userRole;//用户角色
    private Integer createdBy;//创建者
    private Date creationDate;//创建时间
    private Integer modifyBy;//更新者
    private Date modifyDate;//更新时间
    private Integer age;//年龄
    private String userRoleName;//用户角色名称

q1.png

生成getter and setter

q2.png

q3.png

按下Ctrl+A全选,然后点击OK

q4.png

q5.png

创建mapper接口

这个mapper接口相当于原来的DAO

mapper仅仅是接口,不需要提供实现类

q6.png

q1.png

q2.png

q3.png

package cc.mllt.edumybatisclass01.jdbc.mapper;
public interface UserMapper {
    int selectUser(); 
}

q4.png

创建MyBatis映射文件

映射文件

命名规则:表所对应的实体类的类名+Mapper.xml

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

作用:编写SQL语句,访问以及操作表中的数据

存放位置:src/main/resources/mappers

q5.png

q6.png

q1.png

q2.png

别忘了写扩展名.xml

q3.png

在刚才的网站上找到这一段,将代码复制过来

q4.png

q5.png

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

  • mapper接口的全类名和映射文件的命名空间(namespace)保持一致
  • mapper接口中方法的方法名和映射文件中编写SQL的标签的id属性保持一致

q6.png

<?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="cc.mllt.edumybatisclass01.jdbc.mapper.UserMapper">
    <select id="selectUser" resultType="int">
        select count(1) as count from smbms_user
    </select>
</mapper>
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
SQL 关系型数据库 MySQL
【Go语言专栏】使用Go语言连接MySQL数据库
【4月更文挑战第30天】本文介绍了如何使用Go语言连接和操作MySQL数据库,包括选择`go-sql-driver/mysql`驱动、安装导入、建立连接、执行SQL查询、插入/更新/删除操作、事务处理以及性能优化和最佳实践。通过示例代码,展示了连接数据库、使用连接池、事务管理和性能调优的方法,帮助开发者构建高效、稳定的Web应用。
|
关系型数据库 MySQL 数据库
mysql 设置环境变量与未设置环境变量连接数据库的区别
设置与未设置MySQL环境变量在连接数据库时主要区别在于命令输入方式和系统便捷性。设置环境变量后,可直接使用`mysql -u 用户名 -p`命令连接,而无需指定完整路径,提升便利性和灵活性。未设置时,需输入完整路径如`C:\Program Files\MySQL\...`,操作繁琐且易错。为提高效率和减少错误,推荐安装后设置环境变量。[查看视频讲解](https://www.bilibili.com/video/BV1vH4y137HC/)。
21 3
mysql 设置环境变量与未设置环境变量连接数据库的区别
|
Oracle Java 关系型数据库
【服务器】python通过JDBC连接到位于Linux远程服务器上的Oracle数据库
【服务器】python通过JDBC连接到位于Linux远程服务器上的Oracle数据库
14 6
|
SQL Java 关系型数据库
【JAVA基础篇教学】第十六篇:Java连接和操作MySQL数据库
【JAVA基础篇教学】第十六篇:Java连接和操作MySQL数据库
|
SQL Java 数据库连接
Java数据库编程实践:连接与操作数据库
Java数据库编程实践:连接与操作数据库
11 0
|
关系型数据库 Java 数据库
docker部署postgresql数据库和整合springboot连接数据源
docker部署postgresql数据库和整合springboot连接数据源
16 0
|
SQL 存储 数据库
SQL数据库基础语法-增删改
SQL数据库基础语法-增删改
SQL数据库基础语法-增删改
|
SQL JSON 关系型数据库
[UE虚幻引擎插件DTPostgreSQL] PostgreSQL Connector 使用蓝图连接操作 PostgreSQL 数据库说明
本插件主要是支持在UE蓝图中连接和操作PostgreSQL 数据库。
17 2
|
Java 关系型数据库 数据库连接
【C 言专栏】C 语言与数据库的连接与操作
【5月更文挑战第2天】本文探讨了C语言如何连接和操作数据库,介绍了数据库连接的基本原理,如通过ODBC、JDBC或原生接口与数据库交互。文章详细阐述了使用ODBC连接的步骤,并列举了C语言在数据库操作中的常见任务,强调了错误处理、数据类型匹配和性能优化的重要性。通过实际案例,展示了在学生信息管理系统中应用C语言与数据库交互的过程。本文旨在帮助读者更好地理解和应用C语言进行数据库管理。
|
XML Java 数据库连接
Springboot整合mybatisPlus操作数据库
MyBatis-Plus是MyBatis的增强工具,简化开发、提高效率。它提供官网文档,便于集成到SpringBoot项目中。集成步骤包括添加mybatis-plus-boot-starter和数据库驱动依赖,配置数据源,扫描Mapper类包。Mapper接口继承BaseMapper即可使用基本的CRUD操作。示例代码展示了Service层的增删改查实现。MyBatisPlus还支持逻辑删除、自动填充等功能,同时可与Mybatis XML配合使用,通过调整配置指定XML映射文件位置。