Mybatis—入门 & (配置)SQL提示和日志输出

(一)快速入门程序

右键项目,新建module,勾选SpringBoot,上方的name就是你的项目名称:

点击next,跳转到:

勾选lombok,上方搜索SQL,

勾选MyBatis framework和MySQL Driver,点击create

在java包中新建两个包为Mapper和Pojo

在Mapper包中,新建接口UserMapper,代码如图:

在Pojo包中,新建java类User,代码如图:

在Test包下的测试类中:

复制代码
注意:
1.在测试类中创建UserMapper的实现类对象的时候,上方要加@autowired标签
2.在UserMapper接口的前面要加上@Mapper注解,在下方的方法前面加上Select注解,就不用写方法体了。
3.如果在测试类中写private UserMapper usermapper的时候,usermapper报错,则可以在java包下的SpringMybatisDemoApplication这个类中,添加Mapper.Scan这个类,然后在类前添加注解,@MapperScan("Mapper"),这样就不会标红

数据库配置:

要求有这样一张表:

在appliaction的properties文件中要配置好

xml 复制代码
spring.application.name=spring-mybatis-demo

# 配置数据库信息
spring.datasource.url=jdbc:mysql://localhost:3306/fjm03 # 这个数据库信息是在运行时程序要去找的连接,编译阶段,程序不会去找这个语句
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=1234

运行效果如下:

(二)配置SQL提示和日志输出

2.1 SQL提示词:

对图中的SQL语句右键,点击Show Context Actions,选择

选择:

表的信息会报红,因为在编译阶段IDEA不会识别数据库,因此需要在IDEA中配置好数据库,在屏幕右上角:

会弹出界面:

仅填User,Password,Database即可。

!!!记住填完后要先点击左下角的Test Connection

测试一下,因为你的Driver FIles 可能还未配置。等到Successed的提示词出现,则点击Apply,然后OK,此时sql语句的表名不会报错

2.2 日志输出:

在application.propertities中给出这样一行语句:

xml 复制代码
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

如果StdOutImpl出现报红,则是Mybatis核心文件没配置好,于是我们需要去到pom.xml中配置这样几行代码:

xml 复制代码
		<dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.13</version>
        </dependency>

点击右上角的修改图标文件后,就可以正常显示,输出效果如下:

复制代码
JDBC VS Mybatis:
1.资源浪费:
JDBC频繁创建和销毁资源,造成资源浪费	
Mybatis使用数据库连接池,需用时拿出,不用时放回,避免了资源的频繁销毁
2.硬编码:
JDBC写配置信息例如数据库,用户名,密码,url的时候采取硬编码。修改后仍需编译
Mybatis封装配置信息到一个properties文件中,日后有修改需求可以直接修改
3.代码繁琐:
JDBC代码繁琐
Mybatis仅使用注解就可代替JDBC的代码,简便性高
相关推荐
keep one's resolveY19 分钟前
时区问题解决
数据库
Leinwin30 分钟前
OpenClaw 多 Agent 协作框架的并发限制与企业化规避方案痛点直击
java·运维·数据库
qq_4176950536 分钟前
机器学习与人工智能
jvm·数据库·python
漫随流水38 分钟前
旅游推荐系统(view.py)
前端·数据库·python·旅游
ego.iblacat1 小时前
MySQL 服务基础
数据库·mysql
Maverick062 小时前
Oracle Redo 日志操作手册
数据库·oracle
攒了一袋星辰3 小时前
高并发强一致性顺序号生成系统 -- SequenceGenerator
java·数据库·mysql
W.D.小糊涂3 小时前
gpu服务器安装windows+ubuntu24.04双系统
c语言·开发语言·数据库
云贝教育-郑老师3 小时前
【OceanBase 的多租户架构是怎样的?有什么优势?】
数据库·oceanbase
顶点多余4 小时前
使用C/C++语言链接Mysql详解
数据库·c++·mysql