我想在弹簧引导中使用jooQ。我有主从体系结构,所以我想将jooQ与主从体系结构(主从结构用于写,从结构用于读)。
我该怎么做。现在我使用pom.xml来配置jooQ
<configuration>
<jdbc>
<driver>com.mysql.jdbc.Driver</driver>
<url>${datasource.primary.url}</url>
<user>${datasource.primary.username}</user>
<password>${datasource.primary.password}</password>
</jdbc>
<generator>
<name>org.jooq.util.DefaultGenerator</name>
<database>
<name>org.jooq.util.mysql.MySQLDatabase</name>
<includes>.*</includes>
<excludes/>
<inputSchema>jpa</inputSchema>
</database>
<generate>
<deprecated>false</deprecated>
</generate>
<target>
<packageName>com.gensrc.model</packageName>
<directory>src/main/java</directory>
</target>
</generator>
</configuration>然后只需要自动安装DSLContext
但我现在该怎么改变我的代码。
发布于 2017-04-11 08:33:37
根据你的评论:
我想将我所有的写查询路由到主&我所有的读查询到从。
我不太确定write=master和read=slave之间这种难以区分的区别会不会是个好主意。有时,您可能需要在同一事务边界内(即读取未提交的数据)从主服务器读取数据,如果将读取的查询发送给从服务器,则会产生错误的结果。
因此,实现此路由的最佳位置是有单独的DataSource实例并相应地将它们注入jOOQ。然后,您将显式地、透明地将服务层中的主从分离为jOOQ。
当然,您可以通过使用jOOQ ExecuteListener并根据查询类型(ExecuteContext.type())为jOOQ提供正确的JDBC Connection来实现您的原始需求,但我认为这种情况很快就会中断。
https://stackoverflow.com/questions/43255491
复制相似问题