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的代码,简便性高
相关推荐
lcanfly9 小时前
Mysql作业4
数据库·mysql
喜欢踢足球的老罗10 小时前
认证与授权:详解大型系统中用户中心与RBAC的共生关系
数据库·rbac
北城以北888810 小时前
SSM--MyBatis框架之缓存
java·缓存·intellij-idea·mybatis
zhaomx198910 小时前
Spring 事务管理 Transaction rolled back because it has been marked as rollback-only
数据库·spring
l1t11 小时前
利用DeepSeek优化SQLite求解数独SQL用于DuckDB
开发语言·数据库·sql·sqlite·duckdb
lcanfly11 小时前
Mysql作业5
android·数据库·mysql
rit843249911 小时前
在Ubuntu上配置Nginx实现开机自启功能
数据库·nginx·ubuntu
海绵啵啵呀12 小时前
SQL plus中解决上下键找历史命令的工具--rlwrap命令行工具
数据库·sql
Elastic 中国社区官方博客12 小时前
使用 Mastra 和 Elasticsearch 构建具有语义回忆功能的知识 agent
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索