关于项目移植过程中,如何在不修改java源程序的情况下,如何适应新环境下的mysql

这篇具有很好参考价值的文章主要介绍了关于项目移植过程中,如何在不修改java源程序的情况下,如何适应新环境下的mysql。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

关于项目移植过程中,如何在不修改java源程序的情况下,如何适应新环境下的mysql

解决这个问题的原因:

在我们将这个自己电脑里面写好的web项目部署到这个我们自己的云服务器之前,我们已经部署好了这个相应的环境,jdk,tomcat ,mysql ,如果我们只是将自己的web项目部署到这个tomcat下面的话,这个数据库很可能是连接不是上的,

原因是因为这个原来项目中的数据源的配置信息或者是这个数据库的连接信息,也就是自己电脑上面的程序工具类中的driverclass,url,password等数据库连接信息和云服务器上部署数据库不相同,

但是如果我们又回到自己电脑修改源代码,在删除云服务器上之前部署的原来的web项目,再启动,非常麻烦,所有我们需要使用一个方法,他要达到的目的是:

==只通过修改记事本中的一些对应的连接信息,运行程序之后,程序自动读取这个记事本,==换句话说,我们要将源程序中的写死的信息,改变为我们认为的输入数据库连接信息或者数据源配置信息。

结合以上原因以及我们最后所要达到的目的,我们对点餐系统进行具体的操作

我们改变之前的c3p0用xml文件配置的方式(这里可以自己百度了解下c3p0的三种实现方式)为java代码的方式

1.删除之前的xml文件(记得自己要保存起来)

2.创建一个properties文件在resource文件下

不同的数据源以及数据库的配置信息有不同的写法,具体写法可以写项目时候百度copy

propeties文件的作用 通过kv的方式来储存这个数据库的连接信息以及数据源的配置信息,所以下图中根据具体的名字来填写你要配置的信息尽量在名字前面加上前缀便于区分

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wrTTxpwP-1683039519971)(C:\Users\18249\AppData\Roaming\Typora\typora-user-images\image-20230402165828299.png)]

3.接下来创建一个java代码来根据对应的名字获取对应的值来配置c3p0

这个配置文件必须这样命名且必须放在resourecs下面

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6T1quB4F-1683039519972)(C:\Users\18249\AppData\Roaming\Typora\typora-user-images\image-20230402203620311.png)]

配置文件里面必须这样写

c3p0.driverClass=com.mysql.jdbc.Driver
c3p0.jdbcUrl=jdbc:mysql://127.0.0.1:3306/hotel?useUnicode=true&characterEncoding=utf8&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
c3p0.user=root
c3p0.password=root
c3p0.maxPoolSize = 20
c3p0.minPoolSize = 3
c3p0.maxStatements = 30
c3p0.maxIdleTime = 150

v值自己修改,但是k值都要有并且开头要用c3p0,这里关乎后面的映射的问题,非常重要

4.写一个工具类

public class c3p0Utils {
    private static ComboPooledDataSource dataSource;

    public static Connection init() {
        try {
            //创建c3p0类
            dataSource = new ComboPooledDataSource();

            //创建连接
            Connection conn = dataSource.getConnection();
            return conn;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
}

这里的conn或自动对每个参数进行映射,如果缺少一个,就会出现问题

5.最后对自己的dao层实现类进行修改

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JwWDhgzD-1683039519973)(C:\Users\18249\AppData\Roaming\Typora\typora-user-images\image-20230402204341060.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1YgUXWiV-1683039519973)(C:\Users\18249\AppData\Roaming\Typora\typora-user-images\image-20230402204417574.png)]

最后的的数据也是成功的出来了

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-x28f5FYs-1683039519974)(C:\Users\18249\AppData\Roaming\Typora\typora-user-images\image-20230402204449389.png)]文章来源地址https://www.toymoban.com/news/detail-434112.html

结论:这个问题的解决可以简化一些操作,让数据库的连接信息或者是数据源的配置信息不再死写在java源码中,修改信息更加便捷

到了这里,关于关于项目移植过程中,如何在不修改java源程序的情况下,如何适应新环境下的mysql的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 关于一个C++项目:高并发内存池的开发过程(一)

    原项目地址: 高并发内存池项目: 高并发内存池项目的课堂板书+代码 (gitee.com) 本打算利用五一假期的时间将这个项目一口气开发完成,但由于本人的懈怠,这个项目最终只完成了80%。于是利用长假后的一天假期,将这个项目的框架搭建完成。本以为这个项目就此结束,但是

    2024年02月05日
    浏览(37)
  • 关于一个C++项目:高并发内存池的开发过程(二)

    上篇文章梳理了内存申请操作的流程,大概测试了一下,没有发现什么问题。这篇文章将梳理内存释放操作的流程,若申请操作中,有些细节没有把控好,那么释放操作将bug不断。有些bug我至今还在调试…所以,这篇文章的梳理,侧重点依然是逻辑结构。代码的细节可能存在

    2024年02月05日
    浏览(63)
  • 修改依赖包下的子依赖版本,前端项目安全扫描出来的漏洞——解决过程

    为什么要升级,如图云桌面(相当于堡垒机-远程桌面)的项目审查是大概基于node16版本进行扫描的,本来我方是通过降版本从14到12绕过大范围更新,但现在躲得过初一躲不过十五,如何更新 package-lock.json 中的一个包的依赖关系答案 - 爱码网,而且不能直接去lock修改子依赖项

    2024年02月15日
    浏览(36)
  • 关于MYSQL如何修改root密码的4种方法

    本文以windows为例为大家详细介绍下MySQL修改root密码的4种方法,大家可以可以根据的自己的情况自由选择,希望对大家有所帮助。 方法1: 用SET PASSWORD命令 首先登录MySQL。 格式:mysql set password for 用户名@localhost = password(\\\'新密码\\\'); 例子:mysql set password for root@localhost = password(

    2024年02月10日
    浏览(33)
  • 关于电脑如何修改c盘user下的用户名

    1. 首先打开注册表,cmd输入regedit,而后找到 计算机HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionProfilelist 修改user名 2. 而后打开管理员模式,重启电脑进入管理员模式,将原先用户名改成自己想要的用户名称 最后需要更改环境变量

    2024年02月12日
    浏览(45)
  • 如何在不重装系统的情况下换固态硬盘?

    随着固态硬盘的价格不断下降,越来越多的计算机用户希望用固态硬盘替换老旧的机械硬盘以获得更好的性能。 但是常规方法就避免不了重装系统,用户配置文件、系统设置、个人文件和已安装的程序又需要重新配置一遍。此外,还可能重新遇到很多问题,安装过程可能并不

    2024年02月01日
    浏览(59)
  • 如何在不带备份的情况下恢复 Android 手机照片?

    你的 Android 手机出了什么问题? Android 手机上的垃圾文件过多。 您的 Android 手机屏幕黑屏。 您的手机蓝屏死机。 您的设备卡在启动屏幕上。 电话停止工作。 手机一直关机。 ... 您是否遇到过以上情况并将您的 Android 手机恢复出厂设置?如果是这样,您可能会发现您的手机数

    2024年04月09日
    浏览(88)
  • 如何在不支持TPM.2 的电脑安装win11

          使用ULTRAISO工具,将光盘目录\\\"sourcesappraiserres.dll\\\"删除并创建目录名为\\\"appraiserres.dll\\\"的目录.  选择不下载更新,下载更新可能会下载新的appraiserres.dll文件将上述的修改无效化.   使用U盘启动盘(优启通等软件制作...),直接加载iso文件安装,使用这种方式好像不好会检测安装条

    2024年02月04日
    浏览(45)
  • Hystrix 如何在不引入 Archaius 的前提下实现动态配置更新

    Hystrix 是 Netflix 开源的一个限流熔断降级组件,防止依赖服务发生错误后,将调用方的服务拖垮。这里对 Hystrix 本身不做过多介绍。 Hystrix 目前处于维护状态(不再更新),但是还有大量项目对它进行了使用,因此仍然非常重要。 在 Hystrix 中, HystrixCommand 是非常重要的一个类

    2023年04月24日
    浏览(36)
  • 如何修改unity项目名称

    在Unity中,修改项目名称需要对一些文件和设置进行修改。以下是修改Unity项目名称的步骤: 在Unity编辑器中,选择项目文件夹(Project)面板中的“Assets”,然后点击右键,在弹出菜单中选择“Show in Explorer”(在Windows系统上)或“Reveal in Finder”(在Mac系统上)。这将打开项

    2024年02月11日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包