使用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包 如同这样
然后执行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 引用
问题二 oracle 的链接驱动和mysql的也有区别
配置数据库连接数据
在spring中配置数据源
这是需要的链接信息 我把它放到一个.perproties文件中以便修改,实际开发也是这样写的,但坑就是在这里出现的
随后就开始一些小的测试用例,发现一直报这个错误
耿直的我一直调试账号密码,网上说账号被锁定之类的问题都没有解决。
我的情况是这样,我的sqldeveloper可以登录,用老师的原生jdbc的代码也可以查询运行的出来,就是到mybatis这里死活说我账号密码错误,崩溃中,我甚至怀疑mybatis是不是支持oracle。
经过5个小时的测试和排查,我突然意识到,是不是字符编码问题,我的.perproties是GBK编码,是不是有问题
然后就改编码为utf-8,然而还是不行。。。
问题的解决
运行成功 请和上边的黑色代码块对比,这里没有用“”${XXX}“”来动态的获取数据库连接信息,而是写死这样的,极不推荐这样做(代码修改扩展的时候十分的头疼),但是在这里就莫名其妙的没有异常,并且运行成功。。。心累。
oracle。你这么坑,你让我怎么爱上你。