【IDEA优化】:解决MyBatis Mapper 的XML文件SQL语句无法自动提示问题(独家方案,亲测可用)

一、问题

1.问题场景

IDEA中MyBatis编写mapper的SQL语句的时候无法提示SQL和数据库

2.问题描述

无法正常方便的使用IDEA的提示功能,更准确无误的编写代码

3.本解决方案优势

  • 亲测可用,一劳永逸(IDEA版本 IntelliJ IDEA 2021.1.3 )
  • 目的在于对Mybatis的Mapper.XML中sql语句进行提示

二、原因分析

网上的各种解决方案本质上其实都是配置SQL方言和SQL解析范围,但其实 本质上的解决方案是语言注入

三、解决方案:

在完成以下图中设置的情况下(该项的设置方案网上都可查)。再进行语言注入配置即可完成。

一:设置流程:

1.File->Settings->Languages&Frameworks->SQL Dialects

2.File->Settings->Languages&Frameworks->SQL Resolution Scopes

二:语言注入配置:

1、MySQL方言配置 语言注入配置:鼠标放置代码部分,点击提示小灯。

 

 2、选择第三选项(具体顺序具情况确定)。在其中找到MYSQL并点击确定即可。

 3、

 

 注意:若该方法无法解决问题,可能是您并未连接数据库。

在IntelliJ IDEA中,XML文件注入SQL通常指的是使用数据源(Data Source)和Spring XML配置文件(如`applicationContext.xml`)来管理数据库连接和查询。这种做法常见于Spring框架的项目中,因为它提供了一种将配置信息与业务代码解耦的方式。 1. **创建数据源**: - 在IntelliJ IDEA中,你可以通过`Database` -> `Choose Data Source`选择或配置数据库,如MySQL、PostgreSQL等。这会生成一个`DataSource` bean,用于Spring容器管理数据库连接。 2. **配置Spring XML**: - 在`applicationContext.xml`或其他Spring配置文件中,添加`<bean>`标签定义数据源,例如: ```xml <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/mydb"/> <property name="username" value="root"/> <property name="password" value="password"/> </bean> ``` 3. **注入SQL查询**: - 使用`<jdbc:query>`或`<jdbc:script>`标签,允许你在配置文件中直接写SQL语句,它们会在应用启动时执行,例如: ```xml <jdbc:query id="getUserById" dataSource="dataSource"> SELECT * FROM users WHERE id = ? </jdbc:query> ``` 或者: ```xml <jdbc:script id="insertUser" dataSource="dataSource"> INSERT INTO users (name, email) VALUES (?, ?) </jdbc:script> ``` 在代码中,你可以通过`ApplicationContext`的`getBean()`方法获取这个查询并执行。 4. **代码访问**: - 在Java代码中,你可以通过`JdbcTemplate`或`JpaTemplate`(如果使用JPA)来执行这些预定义的SQL查询,而无需硬编码SQL
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值