1. 问题背景

分布式的项目,需求使用同一个数据库,根据schema的不同,用于区分不同的微服务数据。

schema,就是PG数据库下面的不同模式:任何一个PG数据库,创建后,都会有一个默认的模式:public:

schema给用户提供了很多方便!

使用时,通过SQL语句指定schema,操作指定的数据库:

SELECT * from test.hello

2. 出现问题

mybatis逆向工程生成的代码中, xml文件的SQL语句,并没有指定schema;

笨方法,自己手动修改xml文件!

3. 解决问题

a. 万事优先查阅官方文档:这个地方会说明链接PG数据时,可配置的所有参数!   Connecting to the Databasehttps://jdbc.postgresql.org/documentation/head/connect.html

 b. 查阅文档,发现 :currentSchema:参数可以指定schema

 c. 首先我们在mybatis逆向工程中测试,是否能根据指定的schema生成对应的实体:

注意: currentSchema=test 参数一定放在最前面,否则不会起作用!!!

  运行:可以看到逆向工程已经找到指定schema下面的表并生成代码:

d. 同样的道理,我们在项目链接数据库的地方,同样指定schema:

  

 e.写接口进行测试:

 

插入:

 查询:

至此,指定 PG数据库schema的应用需求搞定!!!

你的努力,终将成为你最有力的资本!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐