mybatis连接mysql url_MyBatis与JDBC连接数据库所使用的url之间的差异
在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之间的差异相关推荐
- jdbc连接mysql驱动包_jdbc连接数据库驱动包
FineReport如何用JDBC连接阿里云ADS数据库 在使用FineReport连接阿里云的ADS(AnalyticDB)数据库,很多时候在测试连接时就失败了.此时,该如何连接ADS数据库呢? 我 ...
- myBatis连接MySQL报错误:No operations allowed after conn
为什么80%的码农都做不了架构师?>>> myBatis连接MySQL报错误:No operations allowed after connection closed.Con ...
- android连接Mysql数据库之JDBC方式
一.创建一个数据库和若干表,并导入相关信息.这里以我之前使用的一个图书系统的数据库为例子. 首先假设已经安装并配置好Mysql.(建议大家安装WAMP,也就是安装完这个,就相当于安装了Mysql,PH ...
- Java EE系列(九)——Java EE连接Mysql数据库(JDBC保姆级教学)
最近几天,peter xiao所在的项目小组也逐渐开始进行做最后的Java web课程大作业了,我们组所做的是运动会报名服务系统,其中涉及到很多数据的增删查改,所以需要依靠Mysql数据库来解决这些问 ...
- 数据库中文mybatis连接mysql数据库插入中文乱码
文章结束给大家来个程序员笑话:[M] 对于mysql数据库的乱码问题,有两中情况: 1. mysql数据库编码问题(建库时设定). 2. 连接mysql数据库的url编码设置问题. 对于第一个问题,目 ...
- Navicat使用HTTP通道连接MySQL(通过php代理连接数据库)
文章来源:https://blog.ll00.cn/archives/127.html 问题描述:通过web服务器访问db服务器, 因为db服务器没有外网ip, 不支持外网直接访问:web服安装了ph ...
- 连接mysql数据库实验_Jdbc连接数据库实验报告(1)
一 实验目的 1熟悉myeclipse的使用. 2掌握MySQL的使用. 3掌握jdbc连接数据库. 二实验内容 1在MySQL下创建一个数据库students,并创建表student_info.并且 ...
- jdbc连接mysql正规方法_JDBC基础篇(MYSQL)——通过JDBC连接数据库的三种方式
package day01_jdbc; import java.sql.Connection; import java.sql.Driver; import java.sql.DriverManage ...
- jdbc连接mysql数据库过程_jdbc连接数据库的步骤
基本理解:开发中要先加载驱动,然后获得连接,创建执行SQL语句的对象,并且执行SQL 第一步:把想要连接的数据库驱动加载入JVM,如加载mysql数据库驱动类可以通过Class.forName(&qu ...
- jdbc连接mysql驱动方式_JDBC连接数据库系列教程 – JDBC注册驱动的常见方式
方法1 DriverManager.registerDriver(new com.microsoft.sqlserver.jdbc.SQLServerDriver(),2); 方法2 System.s ...
最新文章
- DataGridView 密码列(显示为*号)的设置
- Linux下同步模式、异步模式、阻塞调用、非阻塞调用总结
- 详解最大似然估计(MLE)、最大后验概率估计(MAP),以及贝叶斯公式的理解...
- java实现类似于while(cin n)的操作
- 一道简单的Fibonacci
- 对数据可视化的理解_使数据可视化更容易理解
- chrome vue.js插件文档_神级宝库!GitHub 标星 1.2w+,Chrome 最天秀的插件都在这里啦!...
- 如何在vs2010中修改栈的大小
- Exp3 免杀原理与实践 20164314
- [MFC] CDialog::DoModal()函数用法
- 给iOS库添加Cocoapods支持
- java四则运算,计算器的实现
- 寒假作业2:币值转换
- lua能在stm32arm上运行吗_IOS App能在Mac运行!苹果这黑科技能撼动微软吗?
- Kerberos的工作原理
- java答题库_JAVA题库
- JAVA上传文件 DiskFileUpload组件
- 阿里云运行python_使用阿里云运行python
- STM32 JLINK接口定义 JTAG/SWD
- “谷歌金山词霸”换汤不换药 实验结果令人失望