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的代码,简便性高
相关推荐
数据知道8 小时前
PostgreSQL性能优化:如何定期清理无用索引以释放磁盘空间(索引膨胀监控)
数据库·postgresql·性能优化
喵叔哟8 小时前
67.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--新增功能--分摊功能总体设计与业务流程
数据库·微服务·架构
tryCbest8 小时前
Oracle查看存储过程
数据库·oracle
咩咩不吃草8 小时前
【MySQL】表和列、增删改查语句及数据类型约束详解
数据库·mysql·语法
不懒不懒8 小时前
【MySQL 实战:从零搭建规范用户表(含完整 SQL 与避坑指南)】
数据库
架构师刘伟8 小时前
MyBatis-Dynamic 进阶:无需实体类的全动态数据建模
mybatis
ID_180079054738 小时前
Python结合淘宝关键词API进行商品价格监控与预警
服务器·数据库·python
数据知道9 小时前
PostgreSQL 故障排查:万字详解如何找出数据库中的死锁
数据库·postgresql
AI_56789 小时前
阿里云OSS成本优化:生命周期规则+分层存储省70%
运维·数据库·人工智能·ai
choke2339 小时前
软件测试任务测试
服务器·数据库·sqlserver