在使用Mybatis和Spring进行数据库操作时,我们通常将数据库连接的信息(url、用户名、密码等)配置到jdbc.properties
里面。通过Spring加载这些信息,建立数据源。Mybatis的mapper使用数据源提供的数据库连接来访问数据库。
这种情况下,数据库的url、用户名、密码是提前配置好的,不能修改的,并且在服务器启动时就读取(通过Spring)了。
那么,有没有可能在运行期间,通过Java代码动态的修改用来进行数据库连接的用户名和密码信息。
比如,我在jdbc.properties
里面配置的是:admin/123,但是运行期间外界给我传来一个新的数据库用户和密码:admin2/456,那么我能不能动态地将后续的数据库连接的用户名密码改成admin2/456?
首先要確定你要使用什麼連接池,Druid 的話是Springmvc有這樣的配置的
com.alibaba.druid.pool.DruidDataSource 這個類別extend 了DruidAbstractDateSource 這個類別裡面有修改帳號密碼的方法
所以說是可以拿到dataSource 修改裡面的使用者名稱和密碼的