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

OSCHINA-MIRROR/kakanshun-hoaven-libMybatis

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
README.md 4.6 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 18.04.2025 08:39 30f9572

1. Введение

Обертка для tk.mybatis, направленная на упрощение работы с базами данных.

2. Использование

1. Настройка источника данных

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/tx
       http://www.springframework.org/schema/tx/spring-tx.xsd">

    <bean id="aliAdminDataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init"
          destroy-method="close">
        <!-- Основные свойства url, user, password -->
        <property name="url" value="${aliAdminUrl}"/>
        <property name="username" value="${aliAdminUser}"/>
        <property name="password" value="${aliAdminPassword}"/>
        <!-- Настройка начального размера пула, минимального и максимального размера -->
        <property name="initialSize" value="5"/>
        <property name="minIdle" value="2"/>
        <property name="maxActive" value="300"/>
``````markdown
<!-- Открываем PSCache и указываем размер PSCache для каждого соединения -->
<property name="poolPreparedStatements" value="false"/>
<!--  <property name="maxPoolPreparedStatementPerConnectionSize" value="20" />-->
<!-- Конфигурируем фильтры для мониторинга и статистики, wall-sql атаки -->
<property name="filters" value="mergeStat,wall"/>
<!-- Значение slowSqlMillis по умолчанию равно 3000, то есть 3 секунды -->
<property name="connectionProperties" value="druid.stat.slowSqlMillis=3000"/>
<property name="removeAbandoned" value="true"/> <!-- Включаем функцию removeAbandoned -->
<property name="removeAbandonedTimeout" value="1800"/> <!-- 1800 секунд, то есть 30 минут -->
<property name="logAbandoned" value="true"/> <!-- При закрытии abandoned соединения выводим ошибку в лог -->
</bean>
    <bean id="aliAdminSqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean" lazy-init="true">
        <property name="dataSource" ref="aliAdminDataSource"/>
        <property name="plugins">
            <array>
                <bean class="com.github.pagehelper.PageHelper">
                    <property name="properties">
                        <value>
                            dialect=mysql
                        </value>
                    </property>
                </bean>
            </array>
        </property>
    </bean>
```    <bean name="aliAdminSqlSession" class="org.mybatis.spring.SqlSessionTemplate">
        <constructor-arg name="sqlSessionFactory" ref="aliAdminSqlSessionFactory"/>
    </bean>

    <!-- Конфигурация пути к MyBatis Mapper -->
    <bean class="tk.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.hoaven.aliadmin.mapper"/>
        <property name="markerInterface" value="com.cashbus.mybatis.GenericMapper"/>
        <property name="sqlSessionFactoryBeanName" value="aliAdminSqlSessionFactory"/>
    </bean>

    <!-- Конфигурация менеджера транзакций -->
    <bean id="aliAdminTXManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="aliAdminDataSource"/>
    </bean>
    <tx:annotation-driven transaction-manager="aliAdminTXManager"/>

</beans>

4. Определение модели

/**
 * Created by hoaven on 2017/8/19.
 */
@Table(name = "user")
@Data
@NoArgsConstructor
@AllArgsConstructor
@NameStyle
public class User extends GenericModel {
    private String username;
    private String password;
    private String token;
    private Date lastLoginTime;
    private String verifyStatus;
    private Date verifyTime;
    private String handImage;
}

5. Определение маппера

/**
 * Created by hoaven on 2017/8/19.
 */
public interface UserMapper extends GenericMapper<User> {
}

6. Пример операции с базой данных

User originUser = aliAdminBaseService.singleBySQL("where username = #{0}", User.class, param.getUsername());

Опубликовать ( 0 )

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

1
https://api.gitlife.ru/oschina-mirror/kakanshun-hoaven-libMybatis.git
git@api.gitlife.ru:oschina-mirror/kakanshun-hoaven-libMybatis.git
oschina-mirror
kakanshun-hoaven-libMybatis
kakanshun-hoaven-libMybatis
master