使用JDBC获取和设置数据库服务器连接变量

ale*_*oot 2 java mysql jdbc

当我打开到MySQL数据库的JDBC连接时,我想设置一些数据库服务器变量,所以例如每次建立连接时我想用这个值设置变量sqlmode:

SET sql_mode='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,PIPES_AS_CONCAT';
Run Code Online (Sandbox Code Playgroud)

用于启用管道串连接...

我必须在查询语句中发送此参数,还是可以直接在JDBC连接上设置此参数?JDBC连接上是否有允许设置此变量的属性?

使用JDBC连接设置或检索数据库服务器变量的最佳方法是什么?

Gig*_*0rt 6

您是否尝试将其添加到getConnection调用中?

String url = "jdbc:mysql://localhost/test?user=sqluser&password=sqluserpw&sessionVariables=sql_mode='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,PIPES_AS_CONCAT'";
Class.forName("com.mysql.jdbc.Driver");
Connection c = DriverManager.getConnection(url);
Run Code Online (Sandbox Code Playgroud)

问候