1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/sxjun1904-MiniJdbc

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Конфигурации динамического источника данных, miniDao и менеджера транзакций

<property name="password" value="${jdbc.password}" />
    <property name="initialSize" value="3" />
    <property name="minIdle" value="3" />
    <property name="maxActive" value="20" />
    <property name="maxWait" value="60000" />
    <property name="timeBetweenEvictionRunsMillis" value="60000" />
    <property name="minEvictableIdleTimeMillis" value="300000" />
    <property name="testWhileIdle" value="true" />
    <property name="testOnBorrow" value="false" />
    <property name="testOnReturn" value="false" />
    <property name="filters" value="stat" />
</bean>

<!-- 3. Конфигурация динамического источника данных -->
<bean class="com.mini.core.dynamic.DynamicDataSource">
    <property name="defaultTargetDataSource" ref="dataSource"></property>
    <property name="targetDataSources">
        <map key-type="java.lang.String">
            <entry key="key1" value-ref="dataSource" />
        </map>
    </property>
</bean>

<!-- 3. Конфигурация miniDao -->
<bean id="miniDao" class="com.mini.core.dao.MiniDao" init-method="init">
    <property name="dynamicDataSource" ref="dynamicDataSource"></property>
</bean>

<!-- Конфигурация менеджера транзакций -->  
<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">  
  <property name="dataSource" ref="dynamicDataSource"/>  
</bean>  
  
<!-- Использование менеджера транзакций с помощью аннотации @Transactional -->  
<tx:annotation-driven transaction-manager="txManager"/> 

Описание конфигурации динамического источника данных

defaultTargetDataSource: конфигурация основного источника данных;
targetDataSources: конфигурация источников данных, где ключ — это имя источника данных (любое значение), а значение-ref указывает на источник данных; entityPackage: пакет, в котором находится сущность, несколько пакетов разделяются запятой.

Конфигурация сканирования

Основная функция — инициализация RowMapper сущности, а также сопоставление таблицы, идентификатора и т. д.;

<!-- Сканирование для автоматического внедрения MiniDao -->
<context:component-scan base-package="com.mini"/>

Если эта конфигурация настроена, то при инициализации информация о сущности будет загружена в память. Если она не настроена, информация будет динамически загружаться в память (для повышения эффективности запуска программы рекомендуется не настраивать её на этапе разработки).

<!-- Сканирование сущностей, которые необходимо настроить -->
<bean id="databaseRouter" class="com.mini.core.DatabaseRouter">
    <property name="entityPackage" value="com.mini" />
</bean>

Пять: примеры (см. пример кода в пакете example, можно использовать user.sql для создания тестовой базы данных и структуры таблиц)

Примеры кода для вставки, обновления и удаления

/**
 * Тестирование вставки экземпляра User с сильным типом
 */
public static int testInsert() {
    User user = new User();
    user.setCreateTime(new Date()) .setName("username") .setType(new Random().nextInt(5));
    return dao.insert(user);
}

/**
 * Пример кода для тестирования вставки экземпляра Record с сильным типом
 */
public static int testInsert2() {
    Record record = new Record("users","id");
    record.set("id", new Random().nextInt(100)) .set("name", "username") 
    .set("type", new Random().nextInt(5)).set("password", "000000");
    return dao.insert(record);
}

/**
 * Пример кода для обновления экземпляра с сильным типом
 * @return
 */
public static int testUpdate() {
    User user = new User();
    user.setName("hello_update");
    return dao.update(user);
}

/**
 * Пример кода для обновления записи со слабым типом
 * @return
 */
public static int testUpdateRecord() {
    Record record = new Record();
    record.setTableName("users");
    record.setPrimaryKeys("id");
    record.set("id", "8").set("name", "record_update");
    return dao.update(record);
}

/**
 * Пример кода для удаления экземпляра с сильным типом
 * @return
 */
public static int testDelete() {
    User user = new User();
    user.setId("1");
    return dao.delete(user);
}

/**
 * Пример кода для удаления записи со слабым типом
 * @return
 */
public static int testDeleteRecord() {
    Record record = new Record();
    record.setTableName("users");
    record.setPrimaryKeys("id");
    record.set("id", "8");
    return dao.delete(record);
}

Пример кода для запроса с разбиением на страницы

/**
 * Запрос без параметров с использованием сильного типа
 */
public static List<User> testGetPage() {
    String sql = "select * from users where id < 8 order by id desc";
    List<User> users = dao.paginate(sql, 2, 2, User.class);
    return users;
}

/**
 * Запрос с параметрами с использованием сильного типа
 */
public static List<User> testGetPage2() {
    String sql = "select * from users where id < ? order by id desc";
    List<User> users = dao.paginate(sql, 2, 2, User.class, 18);
    return users;
}

/**
 * Запрос без параметров со слабым типом
 */
public static List<Record> testGetPage3() {
    String sql = "select id,name from users where id < 8 order by id desc";
    return dao.paginate(sql, 2, 2,Record.class);
}

/**
 * Запрос с параметрами со слабым типом
 */
public static List<Record> testGetPage4() {
    String sql = "select id,name from users where id < ? order by id desc";
    return
``` ```
dao.paginate(sql, 2, 2, Record.class, 88);
}

Перевод:

dao.paginate(sql, 2, 2, Record.класс, 88);
}

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

На основе Spring JDBC создана верхняя оболочка, а операции нижнего уровня JDBC основаны на JdbcTemplate и поддерживают базы данных MySQL, SQLServer и Oracle. Обеспечено идеальное сочетание сильного и слабого типов. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/sxjun1904-MiniJdbc.git
git@api.gitlife.ru:oschina-mirror/sxjun1904-MiniJdbc.git
oschina-mirror
sxjun1904-MiniJdbc
sxjun1904-MiniJdbc
master