Mybatis配置文件使用不当引起的问题

编程入门 行业动态 更新时间:2024-10-10 20:21:29

Mybatis<a href=https://www.elefans.com/category/jswz/34/1770506.html style=配置文件使用不当引起的问题"/>

Mybatis配置文件使用不当引起的问题

文章目录

  • 前言
  • 场景
    • 问题1:Access denied for user 'root'@'localhost' (using password: YES)
    • 问题2:Access denied for user '${username)'@'localhost' (using password: YES)
  • 总结


前言

使用Mybatis时需要注意配置文件的特殊写法,否则将出现莫名的错误,下面我介绍两个错误与Mybatis配置文件书写不当有关


场景

本文中使用了工作环境如下:

  • 工具:IntelliJ IDEA 2018.3.5
  • JDK:1.8
  • Mybatis相关jar包:mybatis-3.5.9.jar
  • 连接数据库:MariaDB

问题1:Access denied for user ‘root’@‘localhost’ (using password: YES)

在做了简单工程后,填写了相关的配置文件如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis//DTD Config 3.0//EN"".dtd">
<!-- 配置文件的根元素 -->
<configuration><properties resource="com/company/config.properties"></properties><environments default="development"><environment id="development"><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="driver" value="${driver}"/><property name="url" value="${url}"/><property name="username" value="${username}"/><property name="password" value="$(password}"/></dataSource></environment></environments><mappers><mapper resource="com/company/Blog.xml"></mapper></mappers>
</configuration>

填写了相关的config.properties 文件如下:

driver=org.mariadb.jdbc.Driver
url=jdbc:mariadb://127.0.0.1:3306/demo
username=root
password=123456

在编译时出现如下错误:

Caused by: java.sql.SQLInvalidAuthorizationSpecException: (conn=22) Access denied for user 'root'@'localhost' (using password: YES)
Current charset is UTF-8. If password has been set using other charset, consider using option 'passwordCharacterEncoding'at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.createException(ExceptionFactory.java:66)at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.create(ExceptionFactory.java:189)at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.authenticationHandler(AbstractConnectProtocol.java:769)at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.createConnection(AbstractConnectProtocol.java:555)at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connectWithoutProxy(AbstractConnectProtocol.java:1389)... 28 more

核查了半天,最后才发现时配置文件中括号引起的问题
原本应该写为

 <property name="password" value="${password}"/>

不料一不小心写成了

 <property name="password" value="$(password}"/>

由于password 未有效配对,造成密码未曾识别,引发了错误。

问题2:Access denied for user ‘${username)’@‘localhost’ (using password: YES)

在做了简单工程后,填写了相关的配置文件如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis//DTD Config 3.0//EN"".dtd">
<!-- 配置文件的根元素 -->
<configuration><properties resource="com/company/config.properties"></properties><environments default="development"><environment id="development"><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="driver" value="${driver}"/><property name="url" value="${url}"/><property name="username" value="${username)"/><property name="password" value="${password}"/></dataSource></environment></environments><mappers><mapper resource="com/company/Blog.xml"></mapper></mappers></configuration>

填写了相关的config.properties 文件如下:

driver=org.mariadb.jdbc.Driver
url=jdbc:mariadb://127.0.0.1:3306/demo
username=root
password=123456

在编译时出现如下错误:

Caused by: java.sql.SQLInvalidAuthorizationSpecException: (conn=24) Access denied for user '${username)'@'localhost' (using password: YES)
Current charset is UTF-8. If password has been set using other charset, consider using option 'passwordCharacterEncoding'at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.createException(ExceptionFactory.java:66)at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.create(ExceptionFactory.java:189)at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.authenticationHandler(AbstractConnectProtocol.java:769)at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.createConnection(AbstractConnectProtocol.java:555)at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connectWithoutProxy(AbstractConnectProtocol.java:1389)... 28 more

原本应该写为

<property name="username" value="${username}"/>

不料一不小心写成了

<property name="username" value="${username)"/>

由于username未有效配对,造成用户名称未曾识别,引发了错误。

总结

本文简要描述了使用配置文件不当造成的Mybatis应用问题,希望能够帮助应用mybatis的小伙伴

更多推荐

Mybatis配置文件使用不当引起的问题

本文发布于:2024-03-04 07:04:37,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1708571.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:配置文件   不当   Mybatis

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!