PreparedStatement, кэширующийся в Tomcat

Вот один из способов сделать это из статьи под заголовком « Форматировать вывод запроса в таблицу HTML - простой способ ». Вам нужно будет заменить детали вашего собственного запроса на те, что в этом примере, которые получают список таблиц и количество строк.

declare @body varchar(max)

set @body = cast( (
select td = dbtable + '' + cast( entities as varchar(30) ) + '' + cast( rows as varchar(30) )
from (
      select dbtable  = object_name( object_id ),
             entities = count( distinct name ),
             rows     = count( * )
      from sys.columns
      group by object_name( object_id )
      ) as d
for xml path( 'tr' ), type ) as varchar(max) )

set @body = ''
          + ''
          + replace( replace( @body, '<', '<' ), '>', '>' )
          + '
Database TableEntity CountTotal Rows
' print @body

Получив @body, вы сможете использовать любой механизм электронной почты, какой пожелаете.

5
задан nivcaner 3 June 2009 в 13:22
поделиться

4 ответа

Я считаю, что tomcat использует commons-dbcp , а commons-dbcp поддерживает объединение подготовленных операторов.

проверьте это здесь .

poolPreparedStatements false Включить объединение подготовленных операторов для этого пула.

3
ответ дан 14 December 2019 в 08:59
поделиться

Кэширование подготовленных операторов выполняется пулом подключений JDBC или драйвером JDBC, не Tomcat.

2
ответ дан 14 December 2019 в 08:59
поделиться

Вы не указываете свою базу данных, но если это SQL Server, то драйвер jTDS делает это внутренне для вас. Все это абстрагировано, поэтому вам не нужно писать какой-либо сложный код кеширования.

См. Здесь: http://jtds.sourceforge.net/faq. html # prepareStatmentMemoryLeak

1
ответ дан 14 December 2019 в 08:59
поделиться

Возможно, мне что-то не хватает в том, о чем вы спрашиваете, но если вы делаете свои запросы в "сырых" JDBC, то, по сути, все, что вам нужно сделать, это оставить соединение открытым и продолжайте ссылаться на PreparedStatement.

0
ответ дан 14 December 2019 в 08:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: