在Windows7 系统上安装了MySQL 8.0,然后创建Maven工程,配置pom.xml文件,添加了如下依赖:

org.mybatis

mybatis

3.4.6

mysql

mysql-connector-java

8.0.11

(1)在mybatis-config.xml中,配置数据库连接环境:

运行测试函数进行连接测试,出现如下错误提示:

org.apache.ibatis.exceptions.PersistenceException:

### Error building SqlSession.

### Cause: org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: 21; columnNumber: 102; 对实体 “characterEncoding” 的引用必须以 ‘;’ 分隔符结尾。

上网搜索解决方案,才知道 mybatis 的配置文件中,这里 url 中的 ‘&’ 符号应当写成 ‘&’ ,修改后的 url 如下:

这样就可以正常连接了。

(2)鉴于1中的错误,尝试使用JDBC连接MySQL时,如下进行连接:

@Test

public void testJDBC()

{

Connection conn = null;

try

{

String userName = "root";

String passWord = "password@password";

String jdbcUrl = "jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC";

Class.forName("com.mysql.cj.jdbc.Driver");

conn = DriverManager.getConnection(jdbcUrl, userName, passWord);

String sql = "select id,countryname,countrycode from country";

PreparedStatement pstmt = conn.prepareStatement(sql);

ResultSet rs = pstmt.executeQuery();

while (rs.next())

{

int id = rs.getInt("id");

String countryname = rs.getString("countryname");

String countrycode = rs.getString("countrycode");

System.out.println(id + "\t" + countryname + "\t" + countrycode);

}

pstmt.close();

}

catch (ClassNotFoundException e)

{

e.printStackTrace();

}

catch (SQLException e)

{

e.printStackTrace();

}

finally

{

System.out.println("Game Over!");

}

}

运行测试函数,结果出现如下错误:

java.sql.SQLNonTransientConnectionException: Cannot load connection class because of underlying exception: com.mysql.cj.exceptions.WrongArgumentException: Malformed database URL, failed to parse the connection string near ‘;characterEncoding=utf-8&useSSL=false&serverTimezone=UTC’.

尝试修改 url ,将 ‘&’ 改成 ‘&’ , 结果就运行正常了,说明 JDBC 方式连接 MySQL 不需要对 ‘&’ 进行转义。

特此记之。

mybatis连接mysql url_MyBatis与JDBC连接数据库所使用的url之间的差异相关推荐

  1. jdbc连接mysql驱动包_jdbc连接数据库驱动包

    FineReport如何用JDBC连接阿里云ADS数据库 在使用FineReport连接阿里云的ADS(AnalyticDB)数据库,很多时候在测试连接时就失败了.此时,该如何连接ADS数据库呢? 我 ...

  2. myBatis连接MySQL报错误:No operations allowed after conn

    为什么80%的码农都做不了架构师?>>>    myBatis连接MySQL报错误:No operations allowed after connection closed.Con ...

  3. android连接Mysql数据库之JDBC方式

    一.创建一个数据库和若干表,并导入相关信息.这里以我之前使用的一个图书系统的数据库为例子. 首先假设已经安装并配置好Mysql.(建议大家安装WAMP,也就是安装完这个,就相当于安装了Mysql,PH ...

  4. Java EE系列(九)——Java EE连接Mysql数据库(JDBC保姆级教学)

    最近几天,peter xiao所在的项目小组也逐渐开始进行做最后的Java web课程大作业了,我们组所做的是运动会报名服务系统,其中涉及到很多数据的增删查改,所以需要依靠Mysql数据库来解决这些问 ...

  5. 数据库中文mybatis连接mysql数据库插入中文乱码

    文章结束给大家来个程序员笑话:[M] 对于mysql数据库的乱码问题,有两中情况: 1. mysql数据库编码问题(建库时设定). 2. 连接mysql数据库的url编码设置问题. 对于第一个问题,目 ...

  6. Navicat使用HTTP通道连接MySQL(通过php代理连接数据库)

    文章来源:https://blog.ll00.cn/archives/127.html 问题描述:通过web服务器访问db服务器, 因为db服务器没有外网ip, 不支持外网直接访问:web服安装了ph ...

  7. 连接mysql数据库实验_Jdbc连接数据库实验报告(1)

    一 实验目的 1熟悉myeclipse的使用. 2掌握MySQL的使用. 3掌握jdbc连接数据库. 二实验内容 1在MySQL下创建一个数据库students,并创建表student_info.并且 ...

  8. jdbc连接mysql正规方法_JDBC基础篇(MYSQL)——通过JDBC连接数据库的三种方式

    package day01_jdbc; import java.sql.Connection; import java.sql.Driver; import java.sql.DriverManage ...

  9. jdbc连接mysql数据库过程_jdbc连接数据库的步骤

    基本理解:开发中要先加载驱动,然后获得连接,创建执行SQL语句的对象,并且执行SQL 第一步:把想要连接的数据库驱动加载入JVM,如加载mysql数据库驱动类可以通过Class.forName(&qu ...

  10. jdbc连接mysql驱动方式_JDBC连接数据库系列教程 – JDBC注册驱动的常见方式

    方法1 DriverManager.registerDriver(new com.microsoft.sqlserver.jdbc.SQLServerDriver(),2); 方法2 System.s ...

最新文章

  1. DataGridView 密码列(显示为*号)的设置
  2. Linux下同步模式、异步模式、阻塞调用、非阻塞调用总结
  3. 详解最大似然估计(MLE)、最大后验概率估计(MAP),以及贝叶斯公式的理解...
  4. java实现类似于while(cin n)的操作
  5. 一道简单的Fibonacci
  6. 对数据可视化的理解_使数据可视化更容易理解
  7. chrome vue.js插件文档_神级宝库!GitHub 标星 1.2w+,Chrome 最天秀的插件都在这里啦!...
  8. 如何在vs2010中修改栈的大小
  9. Exp3 免杀原理与实践 20164314
  10. [MFC] CDialog::DoModal()函数用法
  11. 给iOS库添加Cocoapods支持
  12. java四则运算,计算器的实现
  13. 寒假作业2:币值转换
  14. lua能在stm32arm上运行吗_IOS App能在Mac运行!苹果这黑科技能撼动微软吗?
  15. Kerberos的工作原理
  16. java答题库_JAVA题库
  17. JAVA上传文件 DiskFileUpload组件
  18. 阿里云运行python_使用阿里云运行python
  19. STM32 JLINK接口定义 JTAG/SWD
  20. “谷歌金山词霸”换汤不换药 实验结果令人失望

热门文章

  1. OpenDigg前端开源项目周报1219
  2. 修复Windows10系统的注册表?
  3. eclipse 替换注释
  4. Java对泛型的支持(二)- 高级语法
  5. 六款WEB上传组件性能测试与比较
  6. 6. 标准 I/O 库
  7. RabbitMQ入门指南二(Java)
  8. php中有关目录的几个函数 basename() dirname() pathinfo()
  9. 测试人员该学习哪些Linux知识
  10. 网络操作系统具有哪些特征?