Настройка connectionInitSqls в источнике данных iBatis DBCP

#java #mysql #ibatis

#java #mysql #ibatis

Вопрос:

Я пытаюсь установить свойство connectionInitSqls в iBatis sql-map-config.xml для моего подключения к базе данных. В документации говорится, что это должен быть список операторов sql, но я не знаю, как настроить его в файле xml.

Я попробовал следующий подход:

 <property name="connectionInitSqls">
   <list>
      <value>SET NAMES 'utf8mb4' COLLATE 'utf8mb4_unicode_ci'</value>
   </list>
</property>
  

Но это выдает мне сообщение об ошибке, в котором говорится, что «Требуется атрибут ‘value’, и он должен быть указан для типа элемента’property'».

Вот как sql-map-config.xml выглядит как:

 <!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
    <properties resource="config/properties/dev/jdbc.properties" />
    <transactionManager type="JDBC">
        <dataSource type="DBCP">
            <property name="driverClassName" value="${jdbc.driverClassName}" />
            <property name="url" value="${jdbc.url}" />
            <property name="username" value="${jdbc.username}" />
            <property name="password" value="${jdbc.password}" />
            <property name="connectionInitSqls">
                <list>
                    <value>SET NAMES 'utf8mb4' COLLATE 'utf8mb4_unicode_ci'</value>
                </list>
            </property>
        </dataSource>
    </transactionManager>
</sqlMapConfig>
  

Как правильно указать список ‘connectionInitSqls’ на sql-map-config.xml файл?