Как управлять подключениями БД только для чтения на уровне приложения - PullRequest
3 голосов
/ 03 июня 2011

Мы используем Java / Spring / Ibatis / MySql.Есть ли способ с этими технологиями управлять подключениями только для чтения на уровне приложения.Я хочу добавить дополнительный уровень защиты помимо пользователей MySql только для чтения.Было бы хорошо, если бы BasicDataSource или SqlMapClientTemplate предоставили конфигурацию для соединений только для чтения.В противном случае, кажется, что я оставлен только для чтения MySql пользователей и обеспечения интерфейсов только с методами чтения.

Спасибо

Ответы [ 3 ]

3 голосов
/ 29 июля 2011

BasicDataSource имеет свойство с именем defaultReadOnly, чтобы установить его как доступное только для чтения. Вы можете использовать его.

<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

2 голосов
/ 03 июня 2011

например Connection # CreateStatement может принимать параметры

statement = connection.createStatement
(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
1 голос
/ 03 июня 2011

Попробуйте получить базовый java.sql.Connection объект и setReadOnly(true).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...