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的代码,简便性高
相关推荐
这个DBA有点耶2 天前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
DBA_G2 天前
从地面到云霄:GBase数据库在民航三大场景的落地实践
数据库
自由能燃气设备2 天前
商用全预混低氮冷凝锅炉免费方案vs付费方案对比+选型避坑指南
大数据·数据库·人工智能
科创致远2 天前
科创致远 ESOP 系统核心效能与实战价值展示
大数据·数据库·人工智能·精益工程
漂着的圆木2 天前
Agent 功能参与度:Copilot 怎么算
sql·数据分析·agent·githubcopilot·度量
2601_962218612 天前
万象生鲜系统称重自动多退少补算法解决生鲜非标品痛点
大数据·数据库·人工智能·python·算法
张洛闻Eren2 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
于平安2 天前
MySQL-触发器
数据库·mysql
白远山2 天前
上海24小时自助健身房解决方案实战指南与经验分享
java·数据库·架构·需求分析
Omics Pro2 天前
斯坦福Nature+Science|广义虚拟细胞基础大模型
数据库·人工智能·算法·机器学习·自然语言处理