mybatis连接oracle12乱码,使用mybatis链接oracle数据库出现账号密码错误解决

使用mybatis链接oracle数据库步骤

最近oracle老师布置下来了作业,要求使用传统的java代码链接oracle数据库做一个小程序,因为我已经很熟练的掌握了ssm框架的开发,以前用的是mysql,现在就尝试尝试oracle来练练手。

问题一 oracle 的jar包 maven不支持

由于Oracle授权问题,Maven3不提供Oracle JDBC driver,为了在Maven项目中应用Oracle JDBC driver,必须手动添加到本地仓库。

oracle 的坑来了 不能直接方便的导入依赖必须,手动添加,没事咱们一步步解决

首先下载oracle 的jar包 我的云服务器装的是oracle 12c 12.1.0.2.0版本 因此我选择ojdbc7版本的jar包

查看 oracle 版本的 select 语句如下

select * from v$version;

然后想办法搞到ojdbc的jar包 如同这样

289ab22f12b3b804e09f327efdb6910e.png

然后执行maven的这条命令 把此jar包发布到 本地仓库

mvn install:install-file -Dfile=/e:/ojdbc7.jar -DgroupId=com.oracle -DartifactId=ojdbc7 -Dversion=12.1.0.2.0 -Dpackaging=jar

删除线表示自己需要更改的,这句话的意思是把你的本地jar包按照指定的groupId,artifactId,Dversion

发布到本地仓库

然后在maven 引用

31c8551b501128cd27a4a7dbca9cb3b5.png

问题二 oracle 的链接驱动和mysql的也有区别

配置数据库连接数据

2aa175489bd57277d77001db9b812f1b.png

在spring中配置数据源

这是需要的链接信息 我把它放到一个.perproties文件中以便修改,实际开发也是这样写的,但坑就是在这里出现的

随后就开始一些小的测试用例,发现一直报这个错误

4dc04e03b4f74254666728f86b98ed6a.png

耿直的我一直调试账号密码,网上说账号被锁定之类的问题都没有解决。

我的情况是这样,我的sqldeveloper可以登录,用老师的原生jdbc的代码也可以查询运行的出来,就是到mybatis这里死活说我账号密码错误,崩溃中,我甚至怀疑mybatis是不是支持oracle。

经过5个小时的测试和排查,我突然意识到,是不是字符编码问题,我的.perproties是GBK编码,是不是有问题

然后就改编码为utf-8,然而还是不行。。。

问题的解决

e10f8405541fb94a376602a672bf2686.png

运行成功 请和上边的黑色代码块对比,这里没有用“”${XXX}“”来动态的获取数据库连接信息,而是写死这样的,极不推荐这样做(代码修改扩展的时候十分的头疼),但是在这里就莫名其妙的没有异常,并且运行成功。。。心累。

oracle。你这么坑,你让我怎么爱上你。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/527879.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oracle active data guard,Oracle Active DataGuard配置手册(一)

第一章 搭建Active DG开始配置dgPrimary db:1、 判断dataguard是否安装SQL> select * from v$option where parameter Oracle Data Guard;PARAMETER----------------------------------------------------------------VALUE----------------------------------------------…

linux创建文件后会自动删除,linux会自动删除目录和文件的吗

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼建议不要在 /tmp 或 /var/tmp 中存放需由用户掌握的文件unix 系统的习惯做法是将系统运行过程中的产生的临时文件保存在 /tmp 和 /var/tmp 中。这两者的区别在于 /tmp 中保存的临时文件原则上将在系统重新启动后删除,这…

linux关闭gvim命令,Linux 下 8 种退出 vim 编辑器的方法

Vim被称为一个非常强大的文本编辑器,但同样以其陡峭的学习曲线而闻名。 如果您经常使用命令行,那么至少应该学习一些基本功能。 如果你没有花时间去学习它,即使像退出Vim这样简单的事情也很困难。Vim是一套独立的软件,它有自己的一…

du 查看使用 linux命令,如何正确使用Linux命令–du

本文简单介绍了如何使用如何使用Linux命令–du,需要的朋友可以参考一下。du(disk usage)功能说明:显示目录或文件的大小。语  法:du [-abcDhHklmsSx][-L ][-X ][–block-size][–exclude][–max-depth][–help][–version][目录或文件]补充…

编译 linux 3,linux内核的编译(3)

linux内核的编译(3)2008-02-23 07:17:46来源:互联网 阅读 ()无论什麽档名),然後将你做的 zImage 拷贝进去,(例如,如果你用” /vmlinuz ″的话,就像这样″ cp zImage /vmlinuz ”)。接著重新执行 lilo — 在较新的系统上…

linux 端口限速技术,linux下如何实现对每个IP进行限制带宽??

linux下如何实现对每个IP进行限制带宽??(2011-09-01 01:03:54)标签:杂谈linux下如何实现对每个IP进行限制带宽??redhatlinux服务器,最近发现单位的网内BT下载、迅雷下载太多,严重影响正常上网&a…

u盘启动+linux+ks.cfg,通过ks.cfg文件自动安装系统

最近需要制作自动安装系统的iso镜像文件,写个笔记以防忘记第一步、拿到iso原始文件,我用的是rhel7.7的把rhel7.7文件复制出来到一个目录中第二步、编写一个名字叫ks.cfg文件内容如下:#versionDEVELInstall OS instead of upgradeinstallKeybo…

linux下编译安装ntfs,linux下编译安装ntfs

“mount: you must specify the filesystem type” 错误提示是这个mount /dev/hda1 /media/windows/ 在centos下无问题。不知道为什么在Ubuntu下有问题解决办法mount /dev/hda1 /media/windows/ -t ntfs (-t 制定文件系统类型,这里是ntfs) ######自己down源码包…

Linux做施压机的最大线程数,关于性能测试的几个要点

几个定义性能测试(Performance Test)通常收集所有和测试有关的所有性能,通常被不同人在不同场合下进行使用。测试软件在系统中的运行性能,度量系统与预定义目标的差距。关注点:how much和how fast负载测试(Load Test)负载测试是一种性能测试&…

Linux实训vim编辑器的应用,Linux实训例题(vim编辑器)

1、如果用vi编辑器编辑当前目录下的file1文件,则进入编辑的方式是()vi file12、在Vi编辑器中,请将光标定位到屏幕最上方、最中间、最下方,其命令分别是()()()H M L3、在Vi编辑器中,请将光标定位到文件的第10行,其命令是…

linux优化pdf,linux系统安全和优化.pdf

crookoo 于 2012-05-06 03:42:36发表:好东西啊dayed 于 2012-03-25 11:30:45发表:linux系统安全和优化topcloud 于 2012-03-22 12:50:28发表:顶阿顶。。vikenfeng 于 2011-10-27 10:05:32发表:感谢楼主fastknot 于 2011-07-13 18:45:35发表:楼主很强大66781881 于 2011-06-30 2…

鸟哥的linux私房菜有乌班图,折腾Ubuntu的一些summary--初装Ubuntu18和重装Ubuntu18

1. 初次安装Ubuntu18关于linux安装,之前一直遇到的问题都是安装了,并重启之后之后进入到了grub界面,然后我自己对于grub指令不熟悉,加上没有足够的时间来研究,在多次重装之后,仍然没有办法直接进入&#xf…

线性分组码c语言实验报告,C语言线性分组码(附注释).doc

C语言线性分组码(附注释).doc下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。2.下载的文档,不会出现我们的网址水印。3、该文档所得收入(下载内容预览)归上传者、原创作者&a…

bson json c语言,对比平台--JSON和BSON之间的区别

JavaScript Object Notation(JSON)是一种标准文件格式,使用人类可读的文本来传输具有属性值对和数组数据类型的数据。这是最常见的数据格式之一,主要用于异步浏览器-服务器通信。JSON是与语言无关的格式。另一方面,BSON是一种计算机交换格式&…

c语言中buf内容怎么给指针,C语言 指针的使用

C语言 指针当使用变量时出现长度不定,譬如在串口通信中,有些通信协议是不定长的,那么这个就应该使用指针;如果使用数组的话,会有下面这两个小问题,要将数组的大小要定的比较大,已保证能够容纳最…

c语言常考的程序,C语言 一些常考得东西

C语言基础测试1.#include “heima.txt” 表示文件在哪个目录?( D)A、系统根目路径B、编译器路径C、桌面D、与当前文件目录一致.2.C源程序中不能直接打印的进制数是( )A. 二进制 B.十六进制 C.十进制 D.八进制3.十六进制数0x1DA2转换成二进制数是多少(…

杭电2005题c语言答案,杭电2005

题不难,但细节较多,所以。。。不但二月闰年有影响,七八月都是31天,这个也得专门分开讨论,还有就是七八月份开讨论后,加的基数是三到七月的,不能完全复制上面的代码,基数得改~做题还是…

软件设计师c语言算法皇后,软件设计师历年试题-算法.ppt

软件设计师历年试题-算法1996年下午试题三 【E-R图】 1996年下午试题三 【问题】  填充下列 SQL 程序 3.1~3.4 中的 ①~⑦,使它们分别完成相应的功能:程序 3.1:统计参加比赛时运动员人数  SELECT __①__  FROM A…

c语言getch() 头文件,用getch()需要头文件吗?

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼#include #include #include "string.h"#includeusing namespace std;struct student{ int num;char name[10];char banji[10];float score[3];struct student *next;};struct student *creat(){struct student *head,*p…

android 服务自动结束,Android服务自动停止

我正在制作一个带有闹钟功能的应用程序。我正在使用这种服务,不断检查设备的当前时间与我的数据库中的时间。Android服务自动停止我的问题是,如果应用程序从后台删除或设备是rebooted,此service停止。我已经使用START_STICKY来保持它在后台运…