Как управлять подключениями БД только для чтения на уровне приложения
Мы используем Java / Spring / Ibatis / MySql. Есть ли способ с помощью этих технологий управлять подключениями только для чтения на уровне приложения? Я ищу, чтобы добавить дополнительный слой защиты поверх наличия только для чтения пользователей MySql. Было бы неплохо, если бы BasicDataSource или SqlMapClientTemplate предоставляли конфигурацию для соединений только для чтения. В противном случае, кажется, что я оставлен только пользователям чтения MySql и принуждаю интерфейсы только с методами чтения.
Спасибо
3 ответа:
Например соединение#CreateStatement может принимать параметры
statement = connection.createStatement (ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
BasicDataSource имеет свойство defaultReadOnly свойство, чтобы установить его как readonly. Вы можете использовать его.
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="org.postgresql.Driver"/> <property name="url" value="jdbc:postgresql://${db.host}:5432/${db.name}"/> <property name="username" value="${db.username}"/> <property name="password" value="${db.password}"/> <property name="defaultReadOnly" value="true"/> </bean>
Http://commons.apache.org/dbcp/apidocs/org/apache/commons/dbcp/BasicDataSource.html