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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 【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>
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
22天前
|
关系型数据库 MySQL 数据库连接
python脚本:连接数据库,检查直播流是否可用
【10月更文挑战第13天】本脚本使用 `mysql-connector-python` 连接MySQL数据库,检查 `live_streams` 表中每个直播流URL的可用性。通过 `requests` 库发送HTTP请求,输出每个URL的检查结果。需安装 `mysql-connector-python` 和 `requests` 库,并配置数据库连接参数。
120 68
|
14天前
|
SQL Java 数据库连接
深入 MyBatis-Plus 插件:解锁高级数据库功能
Mybatis-Plus 提供了丰富的插件机制,这些插件可以帮助开发者更方便地扩展 Mybatis 的功能,提升开发效率、优化性能和实现一些常用的功能。
95 26
深入 MyBatis-Plus 插件:解锁高级数据库功能
|
19天前
|
SQL 安全 Java
MyBatis-Plus条件构造器:构建安全、高效的数据库查询
MyBatis-Plus 提供了一套强大的条件构造器(Wrapper),用于构建复杂的数据库查询条件。Wrapper 类允许开发者以链式调用的方式构造查询条件,无需编写繁琐的 SQL 语句,从而提高开发效率并减少 SQL 注入的风险。
13 1
MyBatis-Plus条件构造器:构建安全、高效的数据库查询
|
18天前
|
SQL Java 数据库连接
在Java应用中,数据库访问常成为性能瓶颈。连接池技术通过预建立并复用数据库连接,有效减少连接开销,提升访问效率
在Java应用中,数据库访问常成为性能瓶颈。连接池技术通过预建立并复用数据库连接,有效减少连接开销,提升访问效率。本文介绍了连接池的工作原理、优势及实现方法,并提供了HikariCP的示例代码。
32 3
|
25天前
|
关系型数据库 MySQL 数据库连接
DBeaver如何连接一个数据库
【10月更文挑战第27天】DBeaver 是一款功能强大的通用数据库管理工具,支持多种主流数据库。本文介绍了使用 DBeaver 连接数据库的基本步骤,包括下载安装、创建新连接、选择数据库类型、配置连接参数、测试连接以及最终连接到数据库。详细的操作指南帮助用户轻松管理和操作数据库。
129 9
|
18天前
|
Java 数据库连接 数据库
深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能
在Java应用开发中,数据库操作常成为性能瓶颈。本文通过问题解答形式,深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能。文章介绍了连接池的优势、选择和使用方法,以及优化配置的技巧。
17 1
|
18天前
|
Java 数据库连接 数据库
Java连接池在数据库性能优化中的重要作用。连接池通过预先创建和管理数据库连接,避免了频繁创建和关闭连接的开销
本文深入探讨了Java连接池在数据库性能优化中的重要作用。连接池通过预先创建和管理数据库连接,避免了频繁创建和关闭连接的开销,显著提升了系统的响应速度和吞吐量。文章介绍了连接池的工作原理,并以HikariCP为例,展示了如何在Java应用中使用连接池。通过合理配置和优化,连接池技术能够有效提升应用性能。
33 1
|
27天前
|
SQL JavaScript 关系型数据库
node博客小项目:接口开发、连接mysql数据库
【10月更文挑战第14天】node博客小项目:接口开发、连接mysql数据库
|
1月前
|
Java 关系型数据库 MySQL
springboot学习五:springboot整合Mybatis 连接 mysql数据库
这篇文章是关于如何使用Spring Boot整合MyBatis来连接MySQL数据库,并进行基本的增删改查操作的教程。
71 0
springboot学习五:springboot整合Mybatis 连接 mysql数据库
|
21天前
|
SQL 关系型数据库 数据库连接
"Nacos 2.1.0版本数据库配置写入难题破解攻略:一步步教你排查连接、权限和配置问题,重启服务轻松解决!"
【10月更文挑战第23天】在使用Nacos 2.1.0版本时,可能会遇到无法将配置信息写入数据库的问题。本文将引导你逐步解决这一问题,包括检查数据库连接、用户权限、Nacos配置文件,并提供示例代码和详细步骤。通过这些方法,你可以有效解决配置写入失败的问题。
46 0