后端:一些常用工具类的写法

文章展示了两个Java类,DateUtil用于日期格式化,RedisCache是基于RedisTemplate的缓存工具类,提供了多种缓存操作方法。另外,RedisLockTool实现了基于Redis的分布式锁,包括加锁、释放锁的功能,确保多线程环境下的资源安全。
摘要由CSDN通过智能技术生成

时间格式工具类:

具体代码:

import cn.hutool.core.date.format.FastDateFormat;

import java.util.Date;

import static com.sugon.cloud.lowcode.utils.ObjectUtil.isNotNull;

/**
 * @desc 时间工具类
 */
public class DateUtil {

  public static final String COMMON_DATE = "yyyy-MM-dd hh:mm:ss";

  public static final String TIME_STAMP = "yyyyMMddhhmmss";

  /**
   * 格式化时间
   *
   * @param date 时间
   * @param format 时间格式化
   * @return
   */
  public static String formatDate(Date date, String format) {
    if (isNotNull(date)) {
      return FastDateFormat.getInstance(format).format(date);
    }
    return null;
  }
}

示例:

// 时间戳格式
String key_1 = formatDate(new Date(), TIME_STAMP);
// 普通时间格式
String key_2 = formatDate(new Date(), COMMON_DATE);

RedisCache工具类:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.BoundSetOperations;
import org.springframework.data.redis.core.HashOperations;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.ValueOperations;
import org.springframework.stereotype.Component;

import java.util.*;
import java.util.concurrent.TimeUnit;

@Component
public class RedisCache {

    @Autowired
    private RedisTemplate redisTemplate;

    /**
     * 缓存基本的对象,Integer、String、实体类等
     *
     * @param key 缓存的键值
     * @param value 缓存的值
     */
    public <T> void setCacheObject(final String key, final T value)
    {
        redisTemplate.opsForValue().set(key, value);
    }


    /**
     * 缓存基本的对象,Integer、String、实体类等
     *
     * @param key 缓存的键值
     * @param value 缓存的值
     * @param timeout 时间
     * @param timeUnit 时间颗粒度
     */
    public <T> void setCacheObject(final String key, final T value, final Integer timeout, final TimeUnit timeUnit)
    {
        redisTemplate.opsForValue().set(key, value, timeout, timeUnit);
    }

    /**
     * 设置有效时间
     *
     * @param key Redis键
     * @param timeout 超时时间
     * @return true=设置成功;false=设置失败
     */
    public boolean expire(final String key, final long timeout)
    {
        return expire(key, timeout, TimeUnit.SECONDS);
    }


    /**
     * 设置有效时间
     *
     * @param key Redis键
     * @param timeout 超时时间
     * @param unit 时间单位
     * @return true=设置成功;false=设置失败
     */
    public boolean expire(final String key, final long timeout, final TimeUnit unit)
    {
        return redisTemplate.expire(key, timeout, unit);
    }


    /**
     * 获取有效时间
     *
     * @param key Redis键
     * @return 有效时间
     */
    public long getExpire(final String key)
    {
        return redisTemplate.getExpire(key);
    }

    /**
     * 判断 key是否存在
     *
     * @param key 键
     * @return true 存在 false不存在
     */
    public Boolean hasKey(String key)
    {
        return redisTemplate.hasKey(key);
    }


    /**
     * 获得缓存的基本对象。
     *
     * @param key 缓存键值
     * @return 缓存键值对应的数据
     */
    public <T> T getCacheObject(final String key)
    {
        ValueOperations<String, T> operation = redisTemplate.opsForValue();
        return operation.get(key);
    }

    /**
     * 删除单个对象
     *
     * @param key
     */
    public void deleteObject(String key)
    {
        redisTemplate.delete(key);
    }

    /**
     * 删除集合对象
     *
     * @param collection 多个对象
     * @return
     */
    public void deleteObject(final Collection collection)
    {
        redisTemplate.delete(collection);
    }

    /**
     * 缓存List数据
     *
     * @param key 缓存的键值
     * @param dataList 待缓存的List数据
     * @return 缓存的对象
     */
    public <T> long setCacheList(final String key, final List<T> dataList)
    {
        Long count = redisTemplate.opsForList().rightPushAll(key, dataList);
        return count == null ? 0 : count;
    }

    /**
     * 获得缓存的list对象
     *
     * @param key 缓存的键值
     * @return 缓存键值对应的数据
     */
    public <T> List<T> getCacheList(final String key)
    {
        return redisTemplate.opsForList().range(key, 0, -1);
    }

    /**
     * 缓存Set
     *
     * @param key 缓存键值
     * @param dataSet 缓存的数据
     * @return 缓存数据的对象
     */
    public <T> BoundSetOperations<String, T> setCacheSet(final String key, final Set<T> dataSet)
    {
        BoundSetOperations<String, T> setOperation = redisTemplate.boundSetOps(key);
        Iterator<T> it = dataSet.iterator();
        while (it.hasNext())
        {
            setOperation.add(it.next());
        }
        return setOperation;
    }

    /**
     * 获得缓存的set
     *
     * @param key
     * @return
     */
    public <T> Set<T> getCacheSet(final String key)
    {
        return redisTemplate.opsForSet().members(key);
    }

    /**
     * 缓存Map
     *
     * @param key
     * @param dataMap
     */
    public <T> void setCacheMap(final String key, final Map<String, T> dataMap)
    {
        if (dataMap != null) {
            redisTemplate.opsForHash().putAll(key, dataMap);
        }
    }


    /**
     * 获得缓存的Map
     *
     * @param key
     * @return
     */
    public <T> Map<String, T> getCacheMap(final String key)
    {
        return redisTemplate.opsForHash().entries(key);
    }

    /**
     * 获得缓存的Map
     *
     * @param key
     * @return
     */
    public Set<String> getCacheMapKeys(final String key)
    {
        return redisTemplate.opsForHash().keys(key);
    }

    /**
     * 往Hash中存入数据
     *
     * @param key Redis键
     * @param hKey Hash键
     * @param value 值
     */
    public <T> void setCacheMapValue(final String key, final String hKey, final T value)
    {
        redisTemplate.opsForHash().put(key, hKey, value);
    }

    /**
     * 获取Hash中的数据
     *
     * @param key Redis键
     * @param hKey Hash键
     * @return Hash中的对象
     */
    public <T> T getCacheMapValue(final String key, final String hKey)
    {
        HashOperations<String, String, T> opsForHash = redisTemplate.opsForHash();
        return opsForHash.get(key, hKey);
    }

    /**
     * 获取多个Hash中的数据
     *
     * @param key Redis键
     * @param hKeys Hash键集合
     * @return Hash对象集合
     */
    public <T> List<T> getMultiCacheMapValue(final String key, final Collection<Object> hKeys)
    {
        return redisTemplate.opsForHash().multiGet(key, hKeys);
    }

    /**
     * 删除Hash中的某条数据
     *
     * @param key Redis键
     * @param hKey Hash键
     * @return 是否成功
     */
    public boolean deleteCacheMapValue(final String key, final String hKey)
    {
        return redisTemplate.opsForHash().delete(key, hKey) > 0;
    }

    /**
     * 获得缓存的基本对象列表
     *
     * @param pattern 字符串前缀
     * @return 对象列表
     */
    public Collection<String> keys(final String pattern)
    {
        return redisTemplate.keys(pattern);
    }
}

基于RedisTemplate的Redis分布式锁:

import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.data.redis.core.script.RedisScript;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Collections;
import java.util.Objects;
import java.util.UUID;
import java.util.concurrent.TimeUnit;

/**
 * 基于RedisTemplate的Redis分布式锁
 */
@Component
public class RedisLockTool {

    private static final Logger logger = LoggerFactory.getLogger(RedisLockTool.class);

    @Resource
    private StringRedisTemplate stringRedisTemplate;

    @Resource
    private RedisTemplate redisTemplate;


    /**
     * 默认锁的超时时间(毫秒)
     */
    public static final Integer DEFAULT_LOCK_EXP = 3000;


    /**
     * 默认redis的超时时间(毫秒)
     */
    public static final Long DEFAULT_REDIS_TIMEOUT = 3000L;

    private static final RedisScript<Long> SCRIPT_DEL = new DefaultRedisScript("if redis.call('get', KEYS[1]) == ARGV[1] then return redis.call('del', KEYS[1]) else return 0 end", Long.class);
    //private static final RedisScript<String> SCRIPT_LOCK = new DefaultRedisScript("return redis.call('SET', KEYS[1], ARGV[1], 'NX', 'PX', ARGV[2])", String.class);
    private static final RedisScript<Long> SCRIPT_LOCK = new DefaultRedisScript("if redis.call('SET', KEYS[1], ARGV[1], 'NX', 'PX', ARGV[2]) then return 1 else return 0 end", Long.class);


    /**
     * 加锁
     *
     * @param key        锁的key
     * @param identifier 锁标识
     * @param lockExp    锁的超时时间 毫秒
     * @param timeout    超时时间
     * @return 锁标识 null表示加锁失败
     */
    public String lock(String key, String identifier, int lockExp, long timeout) {
        identifier = getIdentifier(identifier);
        key = getKey(key);
        // 根据并发调整超时时间
        long end = System.currentTimeMillis() + timeout;
        while (System.currentTimeMillis() < end) {
            if (setNx(key, identifier, lockExp)) {
                // 返回value值,用于释放锁时间确认
                logger.info("lock success, key:{}, identifier:{}", key, identifier);
                return identifier;
            } else {
                logger.info("lock fail, key:{}", key);
            }

            try {
                Thread.sleep(100);
            } catch (InterruptedException e) {
                // 业务自行处理
                Thread.currentThread().interrupt();
            }
        }
        return null;
    }

    private String getIdentifier(String identifier) {
        if (StrUtil.isBlank(identifier)) {
            identifier = DateUtil.now() + "-" + getLocalHostName();
        }
        return identifier;
    }

    private String getLocalHostName() {
        try {
            return InetAddress.getLocalHost().getHostName();
        } catch (UnknownHostException e) {
            logger.error("InetAddress.getLocalHost出现异常", e);
            return StrUtil.EMPTY;
        }
    }



    public String getValue(String key) {
        return stringRedisTemplate.opsForValue().get(key);
    }

    public String getLockValue(String key) {
        return stringRedisTemplate.opsForValue().get(getKey(key));
    }

    public String getKey(String keyName) {
        return "LOCK:" + keyName;
    }


    private void remove(String key) {
        stringRedisTemplate.delete(key);
    }


    /**
     * 释放锁
     *
     * @param key        锁的key
     * @param identifier 释放锁的标识
     * @return
     */
    public boolean unlock(String key, String identifier) {
        key = getKey(key);
        Object execute = redisTemplate.execute(SCRIPT_DEL, Collections.singletonList(key), identifier);
        return Objects.equals(execute, 1L);
        //return StrUtil.equals((String)execute, "1");
    }

    /**
     * @param key
     * @param value
     * @param ms
     * @return
     */
    private boolean setNx(final String key, final String value, int ms) {
        try {
            Object execute = redisTemplate.execute(SCRIPT_LOCK, Collections.singletonList(key), value, ms);
            return Objects.equals(execute, 1L);
            //return "1".equals(execute);
        } catch (Exception e) {
            logger.error("lock失败------------", e);
            logger.error("redis setNxEx error, key : {}", key);
            return false;
        }
    }

    private void expireByMill(String key, long exp) {
        stringRedisTemplate.expire(key, exp, TimeUnit.MILLISECONDS);
    }

    /**
     * @param key
     * @return 秒
     */
    public Long ttl(String key) {
        return stringRedisTemplate.getExpire(key);
    }


    public String getUUIDIdentifier() {
        return UUID.randomUUID().toString().replace("-","");
    }
}

对Redis的一些常用操作:

import cn.hutool.core.collection.CollUtil;
import com.sugon.cloud.dav.cache.lock.RedisLockTool;
import com.sugon.cloud.dav.config.RedisCacheConfig;
import com.sugon.cloud.dav.dto.ViewDashboardDataset;
import com.sugon.cloud.dav.util.cache.CacheKeyUtil;
import com.sugon.cloud.dav.util.cache.RedisCache;
import com.sugon.cloud.dav.v2.domain.model.entity.datacontainer.cache.ViewDatasetListResult;
import com.sugon.cloud.dav.v2.domain.model.valueobject.datacontainer.DatasetId;
import com.sugon.cloud.dav.v2.domain.model.valueobject.system.UserId;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.util.List;

@Component
public class DatasetCacheRepository {

    @Autowired
    private RedisLockTool redisLockTool;

    @Autowired
    private RedisCache redisCache;

    @Autowired
    private RedisCacheConfig redisCacheConfig;


    //  查询缓存
    public ViewDatasetListResult queryViewDatasetList(UserId userIdObj) {
        ViewDatasetListResult result = null;


        // redisKey作为LockKey
        String redisKey = calculateViewDatasetListKey(userIdObj);

        String uuidIdentifier = redisLockTool.getUUIDIdentifier();

        try {

            // 加锁
            redisLockTool.lock(redisKey, uuidIdentifier , RedisLockTool.DEFAULT_LOCK_EXP, RedisLockTool.DEFAULT_REDIS_TIMEOUT);

            // 查询
            result = handleQueryViewDatasetList(userIdObj, redisKey);

            return result;

        } finally {
            // 解锁
            redisLockTool.unlock(redisKey, uuidIdentifier);
        }


    }

    private ViewDatasetListResult handleQueryViewDatasetList(UserId userIdObj, String redisKey) {
        ViewDatasetListResult result = new ViewDatasetListResult();
        result.setUserId(userIdObj.getId());

        if (!existDatasetListKey(redisKey)) {
            result.setExist(false);

            return result;
        } else {
            result.setExist(true);
        }

        // 查询
        List<ViewDashboardDataset> cacheList = redisCache.getCacheList(redisKey);

        result.setDatasetList(cacheList);

        return result;
    }


    //  写入缓存

    /**
     * 将工作表集合放入缓存
     */
    public void pushViewDatasetList(UserId userIdObj, List<ViewDashboardDataset> list) {

        // redisKey作为LockKey
        String redisKey = calculateViewDatasetListKey(userIdObj);

        String uuidIdentifier = redisLockTool.getUUIDIdentifier();

        try {

            // 加锁
            redisLockTool.lock(redisKey, uuidIdentifier , RedisLockTool.DEFAULT_LOCK_EXP, RedisLockTool.DEFAULT_REDIS_TIMEOUT);

            // 真正的执行逻辑
            handlePushViewDatasetList(userIdObj, list);

        } finally {
            // 解锁
            redisLockTool.unlock(redisKey, uuidIdentifier);
        }

    }

    /**
     * 将工作表集合放入缓存
     */
    private void handlePushViewDatasetList(UserId userIdObj, List<ViewDashboardDataset> list) {

        String redisKey = calculateViewDatasetListKey(userIdObj);

        // 转换为Object存入Redis
        if (CollUtil.isNotEmpty(list)) {
            redisCache.deleteObject(redisKey);

            redisCache.setCacheList(redisKey, list);

            redisCache.expire(redisKey, redisCacheConfig.getDefaultTimeout(), redisCacheConfig.getDefaultTimeUnit());
        }

    }


    public void updateDatasetName(UserId userIdObj, DatasetId datasetIdObj, String updateName) {

        // redisKey作为LockKey
        String redisKey = calculateViewDatasetListKey(userIdObj);

        String uuidIdentifier = redisLockTool.getUUIDIdentifier();

        try {

            // 加锁
            redisLockTool.lock(redisKey, uuidIdentifier , RedisLockTool.DEFAULT_LOCK_EXP, RedisLockTool.DEFAULT_REDIS_TIMEOUT);

            // 查询
            ViewDatasetListResult result = handleQueryViewDatasetList(userIdObj, redisKey);

            if (!result.isExist()) {
                return;
            }

            boolean needUpdate = false;

            List<ViewDashboardDataset> datasetList = result.getDatasetList();
            for (ViewDashboardDataset  dataset : datasetList) {
                if (dataset.getId().equals(datasetIdObj.getId())) {
                    dataset.setName(updateName);
                    dataset.setDatasetTitle(updateName);
                    needUpdate = true;
                    break;
                }
            }

            if (needUpdate) {
                // 真正的执行逻辑
                handlePushViewDatasetList(userIdObj, datasetList);
            }

        } finally {
            // 解锁
            redisLockTool.unlock(redisKey, uuidIdentifier);
        }
    }


    //  判断是否包含key
    /**
     * 用户是否存在工作表集合的缓存
     * @param userIdObj
     * @return
     */
    public boolean existDatasetListKey(UserId userIdObj) {

        //  计算redisKey (工作表集合的key)
        String redisKey = calculateViewDatasetListKey(userIdObj);
        // redis中是否有工作表集合----通过redisTemplate.hasKey(key)来实现
        return redisCache.hasKey(redisKey);
    }


    /**
     * 用户是否存在工作表集合的缓存
     * @return
     */
    public boolean existDatasetListKey(String redisKey) {

        return redisCache.hasKey(redisKey);
    }


    //  计算redisKey

    /**
     * 获取工作表集合的key
     * @param userIdObj
     * @return
     */
    public String calculateViewDatasetListKey(UserId userIdObj) {
        // 其实是拼接了 user_id 和 resType
        return CacheKeyUtil.getUserDatasetListKey(userIdObj.getId());

    }

}

卷 文档 的文件夹 PATH 列表 卷序列号为 000C-BB91 E:. │ config.properties │ Dao.java │ GeneratorDemo.java │ hibernate.cfg.xml │ HibernateDaoImpl.java │ HibernateSessionFactory.java │ HibernateUtil.java │ JsonUtil.java │ list.txt │ log4j.properties │ messageResource_zh_CN.properties │ spring.xml │ struts.xml │ ├─28个java常用工具类 │ │ Base64.java │ │ Base64DecodingException.java │ │ CConst.java │ │ CharTools.java │ │ ConfigHelper.java │ │ Counter.java │ │ CTool.java │ │ DateHandler.java │ │ DateUtil.java │ │ DealString.java │ │ DebugOut.java │ │ Dom4jHelper.java │ │ Escape.java │ │ ExecHelper.java │ │ FileHelper.java │ │ FileUploadUtil.java │ │ FileUtil.java │ │ ftp二进制与ascii传输方式区别.txt │ │ IPDeal.java │ │ Md5.java │ │ MD5Encrypt.java │ │ MyFileFilter.java │ │ PropsUtil.java │ │ RegExUtil.java │ │ SimpleConfig.java │ │ StringHelper.java │ │ ThumbnailGenerator.java │ │ TradePortalUtil.java │ │ UploadHelper.java │ │ │ └─LogUtil │ │ .classpath │ │ .project │ │ logutil-1.0.6.jar │ │ MANIFEST.MF │ │ │ ├─.settings │ │ org.eclipse.jdt.core.prefs │ │ │ └─src │ │ logging.properties │ │ │ └─com │ └─mine │ │ BigMap.java │ │ LogPack.java │ │ │ └─logging │ ConsoleHandler.java │ ErrorManager.java │ FileHandler.java │ Filter.java │ Formatter.java │ Handler.java │ Level.java │ Logging.java │ LoggingMXBean.java │ LoggingPermission.java │ LogManager.java │ LogRecord.java │ LogUtil.java │ LogUtil2.java │ MemoryHandler.java │ PropertiesFactory.java │ PropertiesMachining.java │ RemoteHandler.java │ Simple0Formatter.java │ Simple1Formatter.java │ Simple2Formatter.java │ Simple3Formatter.java │ SimpleFormatter.java │ SocketHandler.java │ StreamHandler.java │ Test.java │ XMLFormatter.java │ ├─Android快速开发不可或缺的11个辅助类 │ AppUtils.java │ DensityUtils.java │ HttpUtils.java │ KeyBoardUtils.java │ L.java │ NetUtils.java │ ScreenUtils.java │ SDCardUtils.java │ SPUtils.java │ T.java │ ToolFor9Ge.java │ ├─css │ bootstrap.css │ bootstrap.min.css │ component.css │ cylater.css │ global.css │ login.css │ reset.css │ ├─js │ │ avalon.js │ │ components.js │ │ cylater.min.js │ │ global.js │ │ jquery-1.7.1.min.js │ │ jquery-1.8.2.min.js │ │ jquery.cookie.js │ │ jquery.metadata.js │ │ jquery.min.js │ │ jquery.nicescroll.min.js │ │ jquery.validate.js │ │ jquery.validate.message_cn.js │ │ login.js │ │ md5.js │ │ mgTextWidth.js │ │ tinybox.js │ │ │ ├─bootstrap │ │ │ │ │ ├─css │ │ │ bootstrap-responsive.css │ │ │ bootstrap-responsive.min.css │ │ │ bootstrap.css │ │ │ bootstrap.min.css │ │ │ │ │ ├─img │ │ │ glyphicons-halflings-white.png │ │ │ glyphicons-halflings.png │ │ │ │ │ └─js │ │ bootstrap.js │ │ bootstrap.min.js │ │ │ ├─doubanAPI_Demo │ │ dbapi_beta1_20120316.js │ │ doubanapi.html │ │ jquery-1.4.2.js │ │ │ └─jQuery │ jquery-1.11.3.min.js │ jquery-1.7.2.js │ jquery-1.7.2.min.js │ ├─MyBatis-zh │ │ clirr-report.html │ │ configuration.html │ │ cpd.html │ │ cpd.xml │ │ dependencies.html │ │ dependency-info.html │ │ distribution-management.html │ │ dynamic-sql.html │ │ findbugs.html │ │ getting-started.html │ │ index.html │ │ integration.html │ │ issue-tracking.html │ │ java-api.html │ │ jdepend-report.html │ │ license.html │ │ logging.html │ │ mail-lists.html │ │ Mybatis.htm │ │ plugin-management.html │ │ plugins.html │ │ pmd.html │ │ pmd.xml │ │ project-info.html │ │ project-reports.html │ │ project-summary.html │ │ source-repository.html │ │ sqlmap-xml.html │ │ statement-builders.html │ │ surefire-report.html │ │ taglist.html │ │ team-list.html │ │ │ ├─apidocs │ │ index.html │ │ │ ├─cobertura │ │ │ coverage.xml │ │ │ frame-packages.html │ │ │ frame-sourcefiles-org.apache.ibatis.annotations.html │ │ │ frame-sourcefiles-org.apache.ibatis.binding.html │ │ │ frame-sourcefiles-org.apache.ibatis.builder.annotation.html │ │ │ frame-sourcefiles-org.apache.ibatis.builder.html │ │ │ frame-sourcefiles-org.apache.ibatis.builder.xml.html │ │ │ frame-sourcefiles-org.apache.ibatis.cache.decorators.html │ │ │ frame-sourcefiles-org.apache.ibatis.cache.html │ │ │ frame-sourcefiles-org.apache.ibatis.cache.impl.html │ │ │ frame-sourcefiles-org.apache.ibatis.datasource.html │ │ │ frame-sourcefiles-org.apache.ibatis.datasource.jndi.html │ │ │ frame-sourcefiles-org.apache.ibatis.datasource.pooled.html │ │ │ frame-sourcefiles-org.apache.ibatis.datasource.unpooled.html │ │ │ frame-sourcefiles-org.apache.ibatis.exceptions.html │ │ │ frame-sourcefiles-org.apache.ibatis.executor.html │ │ │ frame-sourcefiles-org.apache.ibatis.executor.keygen.html │ │ │ frame-sourcefiles-org.apache.ibatis.executor.loader.cglib.html │ │ │ frame-sourcefiles-org.apache.ibatis.executor.loader.html │ │ │ frame-sourcefiles- org.apache.ibatis.executor.loader.javassist.html │ │ │ frame-sourcefiles-org.apache.ibatis.executor.parameter.html │ │ │ frame-sourcefiles-org.apache.ibatis.executor.result.html │ │ │ frame-sourcefiles-org.apache.ibatis.executor.resultset.html │ │ │ frame-sourcefiles-org.apache.ibatis.executor.statement.html │ │ │ frame-sourcefiles-org.apache.ibatis.io.html │ │ │ frame-sourcefiles-org.apache.ibatis.jdbc.html │ │ │ frame-sourcefiles-org.apache.ibatis.logging.commons.html │ │ │ frame-sourcefiles-org.apache.ibatis.logging.html │ │ │ frame-sourcefiles-org.apache.ibatis.logging.jdbc.html │ │ │ frame-sourcefiles-org.apache.ibatis.logging.jdk14.html │ │ │ frame-sourcefiles-org.apache.ibatis.logging.log4j.html │ │ │ frame-sourcefiles-org.apache.ibatis.logging.log4j2.html │ │ │ frame-sourcefiles-org.apache.ibatis.logging.nologging.html │ │ │ frame-sourcefiles-org.apache.ibatis.logging.slf4j.html │ │ │ frame-sourcefiles-org.apache.ibatis.logging.stdout.html │ │ │ frame-sourcefiles-org.apache.ibatis.mapping.html │ │ │ frame-sourcefiles-org.apache.ibatis.metadata.html │ │ │ frame-sourcefiles-org.apache.ibatis.parsing.html │ │ │ frame-sourcefiles-org.apache.ibatis.plugin.html │ │ │ frame-sourcefiles-org.apache.ibatis.reflection.factory.html │ │ │ frame-sourcefiles-org.apache.ibatis.reflection.html │ │ │ frame-sourcefiles-org.apache.ibatis.reflection.invoker.html │ │ │ frame-sourcefiles-org.apache.ibatis.reflection.property.html │ │ │ frame-sourcefiles-org.apache.ibatis.reflection.wrapper.html │ │ │ frame-sourcefiles-org.apache.ibatis.scripting.defaults.html │ │ │ frame-sourcefiles-org.apache.ibatis.scripting.html │ │ │ frame-sourcefiles-org.apache.ibatis.scripting.xmltags.html │ │ │ frame-sourcefiles-org.apache.ibatis.session.defaults.html │ │ │ frame-sourcefiles-org.apache.ibatis.session.html │ │ │ frame-sourcefiles-org.apache.ibatis.transaction.html │ │ │ frame-sourcefiles-org.apache.ibatis.transaction.jdbc.html │ │ │ frame-sourcefiles-org.apache.ibatis.transaction.managed.html │ │ │ frame-sourcefiles-org.apache.ibatis.type.html │ │ │ frame-sourcefiles.html │ │ │ frame-summary-org.apache.ibatis.annotations.html │ │ │ frame-summary-org.apache.ibatis.binding.html │ │ │ frame-summary-org.apache.ibatis.builder.annotation.html │ │ │ frame-summary-org.apache.ibatis.builder.html │ │ │ frame-summary-org.apache.ibatis.builder.xml.html │ │ │ frame-summary-org.apache.ibatis.cache.decorators.html │ │ │ frame-summary-org.apache.ibatis.cache.html │ │ │ frame-summary-org.apache.ibatis.cache.impl.html │ │ │ frame-summary-org.apache.ibatis.datasource.html │ │ │ frame-summary-org.apache.ibatis.datasource.jndi.html │ │ │ frame-summary-org.apache.ibatis.datasource.pooled.html │ │ │ frame-summary-org.apache.ibatis.datasource.unpooled.html │ │ │ frame-summary-org.apache.ibatis.exceptions.html │ │ │ frame-summary-org.apache.ibatis.executor.html │ │ │ frame-summary-org.apache.ibatis.executor.keygen.html │ │ │ frame-summary-org.apache.ibatis.executor.loader.cglib.html │ │ │ frame-summary-org.apache.ibatis.executor.loader.html │ │ │ frame-summary-org.apache.ibatis.executor.loader.javassist.html │ │ │ frame-summary-org.apache.ibatis.executor.parameter.html │ │ │ frame-summary-org.apache.ibatis.executor.result.html │ │ │ frame-summary-org.apache.ibatis.executor.resultset.html │ │ │ frame-summary-org.apache.ibatis.executor.statement.html │ │ │ frame-summary-org.apache.ibatis.io.html │ │ │ frame-summary-org.apache.ibatis.jdbc.html │ │ │ frame-summary-org.apache.ibatis.logging.commons.html │ │ │ frame-summary-org.apache.ibatis.logging.html │ │ │ frame-summary-org.apache.ibatis.logging.jdbc.html │ │ │ frame-summary-org.apache.ibatis.logging.jdk14.html │ │ │ frame-summary-org.apache.ibatis.logging.log4j.html │ │ │ frame-summary-org.apache.ibatis.logging.log4j2.html │ │ │ frame-summary-org.apache.ibatis.logging.nologging.html │ │ │ frame-summary-org.apache.ibatis.logging.slf4j.html │ │ │ frame-summary-org.apache.ibatis.logging.stdout.html │ │ │ frame-summary-org.apache.ibatis.mapping.html │ │ │ frame-summary-org.apache.ibatis.metadata.html │ │ │ frame-summary-org.apache.ibatis.parsing.html │ │ │ frame-summary-org.apache.ibatis.plugin.html │ │ │ frame-summary-org.apache.ibatis.reflection.factory.html │ │ │ frame-summary-org.apache.ibatis.reflection.html │ │ │ frame-summary-org.apache.ibatis.reflection.invoker.html │ │ │ frame-summary-org.apache.ibatis.reflection.property.html │ │ │ frame-summary-org.apache.ibatis.reflection.wrapper.html │ │ │ frame-summary-org.apache.ibatis.scripting.defaults.html │ │ │ frame-summary-org.apache.ibatis.scripting.html │ │ │ frame-summary-org.apache.ibatis.scripting.xmltags.html │ │ │ frame-summary-org.apache.ibatis.session.defaults.html │ │ │ frame-summary-org.apache.ibatis.session.html │ │ │ frame-summary-org.apache.ibatis.transaction.html │ │ │ frame-summary-org.apache.ibatis.transaction.jdbc.html │ │ │ frame-summary-org.apache.ibatis.transaction.managed.html │ │ │ frame-summary-org.apache.ibatis.type.html │ │ │ frame-summary.html │ │ │ help.html │ │ │ index.html │ │ │ org.apache.ibatis.annotations.Arg.html │ │ │ org.apache.ibatis.annotations.CacheNamespace.html │ │ │ org.apache.ibatis.annotations.CacheNamespaceRef.html │ │ │ org.apache.ibatis.annotations.Case.html │ │ │ org.apache.ibatis.annotations.ConstructorArgs.html │ │ │ org.apache.ibatis.annotations.Delete.html │ │ │ org.apache.ibatis.annotations.DeleteProvider.html │ │ │ org.apache.ibatis.annotations.Insert.html │ │ │ org.apache.ibatis.annotations.InsertProvider.html │ │ │ org.apache.ibatis.annotations.Lang.html │ │ │ org.apache.ibatis.annotations.Many.html │ │ │ org.apache.ibatis.annotations.MapKey.html │ │ │ org.apache.ibatis.annotations.One.html │ │ │ org.apache.ibatis.annotations.Options.html │ │ │ org.apache.ibatis.annotations.Param.html │ │ │ org.apache.ibatis.annotations.Result.html │ │ │ org.apache.ibatis.annotations.ResultMap.html │ │ │ org.apache.ibatis.annotations.Results.html │ │ │ org.apache.ibatis.annotations.ResultType.html │ │ │ org.apache.ibatis.annotations.Select.html │ │ │ org.apache.ibatis.annotations.SelectKey.html │ │ │ org.apache.ibatis.annotations.SelectProvider.html │ │ │ org.apache.ibatis.annotations.TypeDiscriminator.html │ │ │ org.apache.ibatis.annotations.Update.html │ │ │ org.apache.ibatis.annotations.UpdateProvider.html │ │ │ org.apache.ibatis.binding.BindingException.html │ │ │ org.apache.ibatis.binding.MapperMethod.html │ │ │ org.apache.ibatis.binding.MapperProxy.html │ │ │ org.apache.ibatis.binding.MapperProxyFactory.html │ │ │ org.apache.ibatis.binding.MapperRegistry.html │ │ │ org.apache.ibatis.builder.annotation.MapperAnnotationBuilder.html │ │ │ org.apache.ibatis.builder.annotation.MethodResolver.html │ │ │ org.apache.ibatis.builder.annotation.ProviderSqlSource.html │ │ │ org.apache.ibatis.builder.BaseBuilder.html │ │ │ org.apache.ibatis.builder.BuilderException.html │ │ │ org.apache.ibatis.builder.CacheRefResolver.html │ │ │ org.apache.ibatis.builder.IncompleteElementException.html │ │ │ org.apache.ibatis.builder.MapperBuilderAssistant.html │ │ │ org.apache.ibatis.builder.ParameterExpression.html │ │ │ org.apache.ibatis.builder.ResultMapResolver.html │ │ │ org.apache.ibatis.builder.SqlSourceBuilder.html │ │ │ org.apache.ibatis.builder.StaticSqlSource.html │ │ │ org.apache.ibatis.builder.xml.XMLConfigBuilder.html │ │ │ org.apache.ibatis.builder.xml.XMLIncludeTransformer.html │ │ │ org.apache.ibatis.builder.xml.XMLMapperBuilder.html │ │ │ org.apache.ibatis.builder.xml.XMLMapperEntityResolver.html │ │ │ org.apache.ibatis.builder.xml.XMLStatementBuilder.html │ │ │ org.apache.ibatis.cache.Cache.html │ │ │ org.apache.ibatis.cache.CacheException.html │ │ │ org.apache.ibatis.cache.CacheKey.html │ │ │ org.apache.ibatis.cache.decorators.FifoCache.html │ │ │ org.apache.ibatis.cache.decorators.LoggingCache.html │ │ │ org.apache.ibatis.cache.decorators.LruCache.html │ │ │ org.apache.ibatis.cache.decorators.ScheduledCache.html │ │ │ org.apache.ibatis.cache.decorators.SerializedCache.html │ │ │ org.apache.ibatis.cache.decorators.SoftCache.html │ │ │ org.apache.ibatis.cache.decorators.SynchronizedCache.html │ │ │ org.apache.ibatis.cache.decorators.TransactionalCache.html │ │ │ org.apache.ibatis.cache.decorators.WeakCache.html │ │ │ org.apache.ibatis.cache.impl.PerpetualCache.html │ │ │ org.apache.ibatis.cache.NullCacheKey.html │ │ │ org.apache.ibatis.cache.TransactionalCacheManager.html │ │ │ org.apache.ibatis.datasource.DataSourceException.html │ │ │ org.apache.ibatis.datasource.DataSourceFactory.html │ │ │ org.apache.ibatis.datasource.jndi.JndiDataSourceFactory.html │ │ │ org.apache.ibatis.datasource.pooled.PooledConnection.html │ │ │ org.apache.ibatis.datasource.pooled.PooledDataSource.html │ │ │ org.apache.ibatis.datasource.pooled.PooledDataSourceFactory.html │ │ │ org.apache.ibatis.datasource.pooled.PoolState.html │ │ │ org.apache.ibatis.datasource.unpooled.UnpooledDataSource.html │ │ │ org.apache.ibatis.datasource.unpooled.UnpooledDataSourceFactory.html │ │ │ org.apache.ibatis.exceptions.ExceptionFactory.html │ │ │ org.apache.ibatis.exceptions.IbatisException.html │ │ │ org.apache.ibatis.exceptions.PersistenceException.html │ │ │ org.apache.ibatis.exceptions.TooManyResultsException.html │ │ │ org.apache.ibatis.executor.BaseExecutor.html │ │ │ org.apache.ibatis.executor.BatchExecutor.html │ │ │ org.apache.ibatis.executor.BatchExecutorException.html │ │ │ org.apache.ibatis.executor.BatchResult.html │ │ │ org.apache.ibatis.executor.CachingExecutor.html │ │ │ org.apache.ibatis.executor.ErrorContext.html │ │ │ org.apache.ibatis.executor.ExecutionPlaceholder.html │ │ │ org.apache.ibatis.executor.Executor.html │ │ │ org.apache.ibatis.executor.ExecutorException.html │ │ │ org.apache.ibatis.executor.keygen.Jdbc3KeyGenerator.html │ │ │ org.apache.ibatis.executor.keygen.KeyGenerator.html │ │ │ org.apache.ibatis.executor.keygen.NoKeyGenerator.html │ │ │ org.apache.ibatis.executor.keygen.SelectKeyGenerator.html │ │ │ org.apache.ibatis.executor.loader.AbstractEnhancedDeserializationProxy.html │ │ │ org.apache.ibatis.executor.loader.AbstractSerialStateHolder.html │ │ │ org.apache.ibatis.executor.loader.cglib.CglibProxyFactory.html │ │ │ org.apache.ibatis.executor.loader.cglib.CglibSerialStateHolder.html │ │ │ org.apache.ibatis.executor.loader.CglibProxyFactory.html │ │ │ org.apache.ibatis.executor.loader.javassist.JavassistProxyFactory.html │ │ │ org.apache.ibatis.executor.loader.javassist.JavassistSerialStateHolder.html │ │ │ org.apache.ibatis.executor.loader.JavassistProxyFactory.html │ │ │ org.apache.ibatis.executor.loader.ProxyFactory.html │ │ │ org.apache.ibatis.executor.loader.ResultLoader.html │ │ │ org.apache.ibatis.executor.loader.ResultLoaderMap.html │ │ │ org.apache.ibatis.executor.loader.WriteReplaceInterface.html │ │ │ org.apache.ibatis.executor.parameter.ParameterHandler.html │ │ │ org.apache.ibatis.executor.result.DefaultMapResultHandler.html │ │ │ org.apache.ibatis.executor.result.DefaultResultContext.html │ │ │ org.apache.ibatis.executor.result.DefaultResultHandler.html │ │ │ org.apache.ibatis.executor.ResultExtractor.html │ │ │ org.apache.ibatis.executor.resultset.DefaultResultSetHandler.html │ │ │ org.apache.ibatis.executor.resultset.ResultSetHandler.html │ │ │ org.apache.ibatis.executor.resultset.ResultSetWrapper.html │ │ │ org.apache.ibatis.executor.ReuseExecutor.html │ │ │ org.apache.ibatis.executor.SimpleExecutor.html │ │ │ org.apache.ibatis.executor.statement.BaseStatementHandler.html │ │ │ org.apache.ibatis.executor.statement.CallableStatementHandler.html │ │ │ org.apache.ibatis.executor.statement.PreparedStatementHandler.html │ │ │ org.apache.ibatis.executor.statement.RoutingStatementHandler.html │ │ │ org.apache.ibatis.executor.statement.SimpleStatementHandler.html │ │ │ org.apache.ibatis.executor.statement.StatementHandler.html │ │ │ org.apache.ibatis.io.ClassLoaderWrapper.html │ │ │ org.apache.ibatis.io.DefaultVFS.html │ │ │ org.apache.ibatis.io.ExternalResources.html │ │ │ org.apache.ibatis.io.JBoss6VFS.html │ │ │ org.apache.ibatis.io.ResolverUtil.html │ │ │ org.apache.ibatis.io.Resources.html │ │ │ org.apache.ibatis.io.VFS.html │ │ │ org.apache.ibatis.jdbc.AbstractSQL.html │ │ │ org.apache.ibatis.jdbc.Null.html │ │ │ org.apache.ibatis.jdbc.RuntimeSqlException.html │ │ │ org.apache.ibatis.jdbc.ScriptRunner.html │ │ │ org.apache.ibatis.jdbc.SelectBuilder.html │ │ │ org.apache.ibatis.jdbc.SQL.html │ │ │ org.apache.ibatis.jdbc.SqlBuilder.html │ │ │ org.apache.ibatis.jdbc.SqlRunner.html │ │ │ org.apache.ibatis.logging.commons.JakartaCommonsLoggingImpl.html │ │ │ org.apache.ibatis.logging.jdbc.BaseJdbcLogger.html │ │ │ org.apache.ibatis.logging.jdbc.ConnectionLogger.html │ │ │ org.apache.ibatis.logging.jdbc.PreparedStatementLogger.html │ │ │ org.apache.ibatis.logging.jdbc.ResultSetLogger.html │ │ │ org.apache.ibatis.logging.jdbc.StatementLogger.html │ │ │ org.apache.ibatis.logging.jdk14.Jdk14LoggingImpl.html │ │ │ org.apache.ibatis.logging.Log.html │ │ │ org.apache.ibatis.logging.log4j.Log4jImpl.html │ │ │ org.apache.ibatis.logging.log4j2.Log4j2AbstractLoggerImpl.html │ │ │ org.apache.ibatis.logging.log4j2.Log4j2Impl.html │ │ │ org.apache.ibatis.logging.log4j2.Log4j2LoggerImpl.html │ │ │ org.apache.ibatis.logging.LogException.html │ │ │ org.apache.ibatis.logging.LogFactory.html │ │ │ org.apache.ibatis.logging.nologging.NoLoggingImpl.html │ │ │ org.apache.ibatis.logging.slf4j.Slf4jImpl.html │ │ │ org.apache.ibatis.logging.slf4j.Slf4jLocationAwareLoggerImpl.html │ │ │ org.apache.ibatis.logging.slf4j.Slf4jLoggerImpl.html │ │ │ org.apache.ibatis.logging.stdout.StdOutImpl.html │ │ │ org.apache.ibatis.mapping.BoundSql.html │ │ │ org.apache.ibatis.mapping.CacheBuilder.html │ │ │ org.apache.ibatis.mapping.DatabaseIdProvider.html │ │ │ org.apache.ibatis.mapping.DefaultDatabaseIdProvider.html │ │ │ org.apache.ibatis.mapping.Discriminator.html │ │ │ org.apache.ibatis.mapping.Environment.html │ │ │ org.apache.ibatis.mapping.MappedStatement.html │ │ │ org.apache.ibatis.mapping.ParameterMap.html │ │ │ org.apache.ibatis.mapping.ParameterMapping.html │ │ │ org.apache.ibatis.mapping.ParameterMode.html │ │ │ org.apache.ibatis.mapping.ResultFlag.html │ │ │ org.apache.ibatis.mapping.ResultMap.html │ │ │ org.apache.ibatis.mapping.ResultMapping.html │ │ │ org.apache.ibatis.mapping.ResultSetType.html │ │ │ org.apache.ibatis.mapping.SqlCommandType.html │ │ │ org.apache.ibatis.mapping.SqlSource.html │ │ │ org.apache.ibatis.mapping.StatementType.html │ │ │ org.apache.ibatis.mapping.VendorDatabaseIdProvider.html │ │ │ org.apache.ibatis.metadata.Column.html │ │ │ org.apache.ibatis.metadata.Database.html │ │ │ org.apache.ibatis.metadata.DatabaseFactory.html │ │ │ org.apache.ibatis.metadata.Table.html │ │ │ org.apache.ibatis.parsing.GenericTokenParser.html │ │ │ org.apache.ibatis.parsing.ParsingException.html │ │ │ org.apache.ibatis.parsing.PropertyParser.html │ │ │ org.apache.ibatis.parsing.TokenHandler.html │ │ │ org.apache.ibatis.parsing.XNode.html │ │ │ org.apache.ibatis.parsing.XPathParser.html │ │ │ org.apache.ibatis.plugin.Interceptor.html │ │ │ org.apache.ibatis.plugin.InterceptorChain.html │ │ │ org.apache.ibatis.plugin.Intercepts.html │ │ │ org.apache.ibatis.plugin.Invocation.html │ │ │ org.apache.ibatis.plugin.Plugin.html │ │ │ org.apache.ibatis.plugin.PluginException.html │ │ │ org.apache.ibatis.plugin.Signature.html │ │ │ org.apache.ibatis.reflection.ExceptionUtil.html │ │ │ org.apache.ibatis.reflection.factory.DefaultObjectFactory.html │ │ │ org.apache.ibatis.reflection.factory.ObjectFactory.html │ │ │ org.apache.ibatis.reflection.invoker.GetFieldInvoker.html │ │ │ org.apache.ibatis.reflection.invoker.Invoker.html │ │ │ org.apache.ibatis.reflection.invoker.MethodInvoker.html │ │ │ org.apache.ibatis.reflection.invoker.SetFieldInvoker.html │ │ │ org.apache.ibatis.reflection.MetaClass.html │ │ │ org.apache.ibatis.reflection.MetaObject.html │ │ │ org.apache.ibatis.reflection.property.PropertyCopier.html │ │ │ org.apache.ibatis.reflection.property.PropertyNamer.html │ │ │ org.apache.ibatis.reflection.property.PropertyTokenizer.html │ │ │ org.apache.ibatis.reflection.ReflectionException.html │ │ │ org.apache.ibatis.reflection.Reflector.html │ │ │ org.apache.ibatis.reflection.SystemMetaObject.html │ │ │ org.apache.ibatis.reflection.wrapper.BaseWrapper.html │ │ │ org.apache.ibatis.reflection.wrapper.BeanWrapper.html │ │ │ org.apache.ibatis.reflection.wrapper.CollectionWrapper.html │ │ │ org.apache.ibatis.reflection.wrapper.DefaultObjectWrapperFactory.html │ │ │ org.apache.ibatis.reflection.wrapper.MapWrapper.html │ │ │ org.apache.ibatis.reflection.wrapper.ObjectWrapper.html │ │ │ org.apache.ibatis.reflection.wrapper.ObjectWrapperFactory.html │ │ │ org.apache.ibatis.scripting.defaults.DefaultParameterHandler.html │ │ │ org.apache.ibatis.scripting.defaults.RawLanguageDriver.html │ │ │ org.apache.ibatis.scripting.defaults.RawSqlSource.html │ │ │ org.apache.ibatis.scripting.LanguageDriver.html │ │ │ org.apache.ibatis.scripting.LanguageDriverRegistry.html │ │ │ org.apache.ibatis.scripting.ScriptingException.html │ │ │ org.apache.ibatis.scripting.xmltags.ChooseSqlNode.html │ │ │ org.apache.ibatis.scripting.xmltags.DynamicContext.html │ │ │ org.apache.ibatis.scripting.xmltags.DynamicSqlSource.html │ │ │ org.apache.ibatis.scripting.xmltags.ExpressionEvaluator.html │ │ │ org.apache.ibatis.scripting.xmltags.ForEachSqlNode.html │ │ │ org.apache.ibatis.scripting.xmltags.IfSqlNode.html │ │ │ org.apache.ibatis.scripting.xmltags.MixedSqlNode.html │ │ │ org.apache.ibatis.scripting.xmltags.OgnlCache.html │ │ │ org.apache.ibatis.scripting.xmltags.SetSqlNode.html │ │ │ org.apache.ibatis.scripting.xmltags.SqlNode.html │ │ │ org.apache.ibatis.scripting.xmltags.TextSqlNode.html │ │ │ org.apache.ibatis.scripting.xmltags.TrimSqlNode.html │ │ │ org.apache.ibatis.scripting.xmltags.VarDeclSqlNode.html │ │ │ org.apache.ibatis.scripting.xmltags.WhereSqlNode.html │ │ │ org.apache.ibatis.scripting.xmltags.XMLLanguageDriver.html │ │ │ org.apache.ibatis.scripting.xmltags.XMLScriptBuilder.html │ │ │ org.apache.ibatis.session.AutoMappingBehavior.html │ │ │ org.apache.ibatis.session.Configuration.html │ │ │ org.apache.ibatis.session.defaults.DefaultSqlSession.html │ │ │ org.apache.ibatis.session.defaults.DefaultSqlSessionFactory.html │ │ │ org.apache.ibatis.session.ExecutorType.html │ │ │ org.apache.ibatis.session.LocalCacheScope.html │ │ │ org.apache.ibatis.session.ResultContext.html │ │ │ org.apache.ibatis.session.ResultHandler.html │ │ │ org.apache.ibatis.session.RowBounds.html │ │ │ org.apache.ibatis.session.SqlSession.html │ │ │ org.apache.ibatis.session.SqlSessionException.html │ │ │ org.apache.ibatis.session.SqlSessionFactory.html │ │ │ org.apache.ibatis.session.SqlSessionFactoryBuilder.html │ │ │ org.apache.ibatis.session.SqlSessionManager.html │ │ │ org.apache.ibatis.session.TransactionIsolationLevel.html │ │ │ org.apache.ibatis.transaction.jdbc.JdbcTransaction.html │ │ │ org.apache.ibatis.transaction.jdbc.JdbcTransactionFactory.html │ │ │ org.apache.ibatis.transaction.managed.ManagedTransaction.html │ │ │ org.apache.ibatis.transaction.managed.ManagedTransactionFactory.html │ │ │ org.apache.ibatis.transaction.Transaction.html │ │ │ org.apache.ibatis.transaction.TransactionException.html │ │ │ org.apache.ibatis.transaction.TransactionFactory.html │ │ │ org.apache.ibatis.type.Alias.html │ │ │ org.apache.ibatis.type.ArrayTypeHandler.html │ │ │ org.apache.ibatis.type.BaseTypeHandler.html │ │ │ org.apache.ibatis.type.BigDecimalTypeHandler.html │ │ │ org.apache.ibatis.type.BigIntegerTypeHandler.html │ │ │ org.apache.ibatis.type.BlobByteObjectArrayTypeHandler.html │ │ │ org.apache.ibatis.type.BlobTypeHandler.html │ │ │ org.apache.ibatis.type.BooleanTypeHandler.html │ │ │ org.apache.ibatis.type.ByteArrayTypeHandler.html │ │ │ org.apache.ibatis.type.ByteArrayUtils.html │ │ │ org.apache.ibatis.type.ByteObjectArrayTypeHandler.html │ │ │ org.apache.ibatis.type.ByteTypeHandler.html │ │ │ org.apache.ibatis.type.CharacterTypeHandler.html │ │ │ org.apache.ibatis.type.ClobTypeHandler.html │ │ │ org.apache.ibatis.type.DateOnlyTypeHandler.html │ │ │ org.apache.ibatis.type.DateTypeHandler.html │ │ │ org.apache.ibatis.type.DoubleTypeHandler.html │ │ │ org.apache.ibatis.type.EnumOrdinalTypeHandler.html │ │ │ org.apache.ibatis.type.EnumTypeHandler.html │ │ │ org.apache.ibatis.type.FloatTypeHandler.html │ │ │ org.apache.ibatis.type.IntegerTypeHandler.html │ │ │ org.apache.ibatis.type.JdbcType.html │ │ │ org.apache.ibatis.type.LongTypeHandler.html │ │ │ org.apache.ibatis.type.MappedJdbcTypes.html │ │ │ org.apache.ibatis.type.MappedTypes.html │ │ │ org.apache.ibatis.type.NClobTypeHandler.html │ │ │ org.apache.ibatis.type.NStringTypeHandler.html │ │ │ org.apache.ibatis.type.ObjectTypeHandler.html │ │ │ org.apache.ibatis.type.ShortTypeHandler.html │ │ │ org.apache.ibatis.type.SimpleTypeRegistry.html │ │ │ org.apache.ibatis.type.SqlDateTypeHandler.html │ │ │ org.apache.ibatis.type.SqlTimestampTypeHandler.html │ │ │ org.apache.ibatis.type.SqlTimeTypeHandler.html │ │ │ org.apache.ibatis.type.StringTypeHandler.html │ │ │ org.apache.ibatis.type.TimeOnlyTypeHandler.html │ │ │ org.apache.ibatis.type.TypeAliasRegistry.html │ │ │ org.apache.ibatis.type.TypeException.html │ │ │ org.apache.ibatis.type.TypeHandler.html │ │ │ org.apache.ibatis.type.TypeHandlerRegistry.html │ │ │ org.apache.ibatis.type.TypeReference.html │ │ │ org.apache.ibatis.type.UnknownTypeHandler.html │ │ │ │ │ ├─css │ │ │ help.css │ │ │ main.css │ │ │ sortabletable.css │ │ │ source-viewer.css │ │ │ tooltip.css │ │ │ │ │ ├─images │ │ └─js │ │ customsorttypes.js │ │ popup.js │ │ sortabletable.js │ │ stringbuilder.js │ │ │ ├─css │ │ apache-maven-fluido-1.3.0.min.css │ │ print.css │ │ site.css │ │ │ ├─images │ │ ├─logos │ │ └─profiles │ ├─img │ ├─js │ │ apache-maven-fluido-1.3.0.min.js │ │ │ ├─xref │ │ │ allclasses-frame.html │ │ │ index.html │ │ │ overview-frame.html │ │ │ overview-summary.html │ │ │ stylesheet.css │ │ │ │ │ └─org │ │ └─apache │ │ └─ibatis │ │ │ package-frame.html │ │ │ package-summary.html │ │ │ │ │ ├─annotations │ │ │ Arg.html │ │ │ CacheNamespace.html │ │ │ CacheNamespaceRef.html │ │ │ Case.html │ │ │ ConstructorArgs.html │ │ │ Delete.html │ │ │ DeleteProvider.html │ │ │ Insert.html │ │ │ InsertProvider.html │ │ │ Lang.html │ │ │ Many.html │ │ │ MapKey.html │ │ │ One.html │ │ │ Options.html │ │ │ package-frame.html │ │ │ package-summary.html │ │ │ Param.html │ │ │ Result.html │ │ │ ResultMap.html │ │ │ Results.html │ │ │ ResultType.html │ │ │ Select.html │ │ │ SelectKey.html │ │ │ SelectProvider.html │ │ │ TypeDiscriminator.html │ │ │ Update.html │ │ │ UpdateProvider.html │ │ │ │ │ ├─binding │ │ │ BindingException.html │ │ │ MapperMethod.html │ │ │ MapperProxy.html │ │ │ MapperProxyFactory.html │ │ │ MapperRegistry.html │ │ │ package-frame.html │ │ │ package-summary.html │ │ │ │ │ ├─builder │ │ │ │ BaseBuilder.html │ │ │ │ BuilderException.html │ │ │ │ CacheRefResolver.html │ │ │ │ IncompleteElementException.html │ │ │ │ MapperBuilderAssistant.html │ │ │ │ package-frame.html │ │ │ │ package-summary.html │ │ │ │ ParameterExpression.html │ │ │ │ ResultMapResolver.html │ │ │ │ SqlSourceBuilder.html │ │ │ │ StaticSqlSource.html │ │ │ │ │ │ │ ├─annotation │ │ │ │ MapperAnnotationBuilder.html │ │ │ │ MethodResolver.html │ │ │ │ package-frame.html │ │ │ │ package-summary.html │ │ │ │ ProviderSqlSource.html │ │ │ │ │ │ │ └─xml │ │ │ package-frame.html │ │ │ package-summary.html │ │ │ XMLConfigBuilder.html │ │ │ XMLIncludeTransformer.html │ │ │ XMLMapperBuilder.html │ │ │ XMLMapperEntityResolver.html │ │ │ XMLStatementBuilder.html │ │ │ │ │ ├─cache │ │ │ │ Cache.html │ │ │ │ CacheException.html │ │ │ │ CacheKey.html │ │ │ │ NullCacheKey.html │ │ │ │ package-frame.html │ │ │ │ package-summary.html │ │ │ │ TransactionalCacheManager.html │ │ │ │ │ │ │ ├─decorators │ │ │ │ FifoCache.html │ │ │ │ LoggingCache.html │ │ │ │ LruCache.html │ │ │ │ package-frame.html │ │ │ │ package-summary.html │ │ │ │ ScheduledCache.html │ │ │ │ SerializedCache.html │ │ │ │ SoftCache.html │ │ │ │ SynchronizedCache.html │ │ │ │ TransactionalCache.html │ │ │ │ WeakCache.html │ │ │ │ │ │ │ └─impl │ │ │ package-frame.html │ │ │ package-summary.html │ │ │ PerpetualCache.html │ │ │ │ │ ├─datasource │ │ │ │ DataSourceException.html │ │ │ │ DataSourceFactory.html │ │ │ │ package-frame.html │ │ │ │ package-summary.html │ │ │ │ │ │ │ ├─jndi │ │ │ │ JndiDataSourceFactory.html │ │ │ │ package-frame.html │ │ │ │ package-summary.html │ │ │ │ │ │ │ ├─pooled │ │ │ │ package-frame.html │ │ │ │ package-summary.html │ │ │ │ PooledConnection.html │ │ │ │ PooledDataSource.html │ │ │ │ PooledDataSourceFactory.html │ │ │ │ PoolState.html │ │ │ │ │ │ │ └─unpooled │ │ │ package-frame.html │ │ │ package-summary.html │ │ │ UnpooledDataSource.html │ │ │ UnpooledDataSourceFactory.html │ │ │ │ │ ├─exceptions │ │ │ ExceptionFactory.html │ │ │ IbatisException.html │ │ │ package-frame.html │ │ │ package-summary.html │ │ │ PersistenceException.html │ │ │ TooManyResultsException.html │ │ │ │ │ ├─executor │ │ │ │ BaseExecutor.html │ │ │ │ BatchExecutor.html │ │ │ │ BatchExecutorException.html │ │ │ │ BatchResult.html │ │ │ │ CachingExecutor.html │ │ │ │ ErrorContext.html │ │ │ │ ExecutionPlaceholder.html │ │ │ │ Executor.html │ │ │ │ ExecutorException.html │ │ │ │ package-frame.html │ │ │ │ package-summary.html │ │ │ │ ResultExtractor.html │ │ │ │ ReuseExecutor.html │ │ │ │ SimpleExecutor.html │ │ │ │ │ │ │ ├─keygen │ │ │ │ Jdbc3KeyGenerator.html │ │ │ │ KeyGenerator.html │ │ │ │ NoKeyGenerator.html │ │ │ │ package-frame.html │ │ │ │ package-summary.html │ │ │ │ SelectKeyGenerator.html │ │ │ │ │ │ │ ├─loader │ │ │ │ │ AbstractEnhancedDeserializationProxy.html │ │ │ │ │ AbstractSerialStateHolder.html │ │ │ │ │ CglibProxyFactory.html │ │ │ │ │ JavassistProxyFactory.html │ │ │ │ │ package-frame.html │ │ │ │ │ package-summary.html │ │ │ │ │ ProxyFactory.html │ │ │ │ │ ResultLoader.html │ │ │ │ │ ResultLoaderMap.html │ │ │ │ │ WriteReplaceInterface.html │ │ │ │ │ │ │ │ │ ├─cglib │ │ │ │ │ CglibProxyFactory.html │ │ │ │ │ CglibSerialStateHolder.html │ │ │ │ │ package-frame.html │ │ │ │ │ package-summary.html │ │ │ │ │ │ │ │ │ └─javassist │ │ │ │ JavassistProxyFactory.html │ │ │ │ JavassistSerialStateHolder.html │ │ │ │ package-frame.html │ │ │ │ package-summary.html │ │ │ │ │ │ │ ├─parameter │ │ │ │ package-frame.html │ │ │ │ package-summary.html │ │ │ │ ParameterHandler.html │ │ │ │ │ │ │ ├─result │ │ │ │ DefaultMapResultHandler.html │ │ │ │ DefaultResultContext.html │ │ │ │ DefaultResultHandler.html │ │ │ │ package-frame.html │ │ │ │ package-summary.html │ │ │ │ │ │ │ ├─resultset │ │ │ │ DefaultResultSetHandler.html │ │ │ │ package-frame.html │ │ │ │ package-summary.html │ │ │ │ ResultSetHandler.html │ │ │ │ ResultSetWrapper.html │ │ │ │ │ │ │ └─statement │ │ │ BaseStatementHandler.html │ │ │ CallableStatementHandler.html │ │ │ package-frame.html │ │ │ package-summary.html │ │ │ PreparedStatementHandler.html │ │ │ RoutingStatementHandler.html │ │ │ SimpleStatementHandler.html │ │ │ StatementHandler.html │ │ │ │ │ ├─io │ │ │ ClassLoaderWrapper.html │ │ │ DefaultVFS.html │ │ │ ExternalResources.html │ │ │ JBoss6VFS.html │ │ │ package-frame.html │ │ │ package-summary.html │ │ │ ResolverUtil.html │ │ │ Resources.html │ │ │ VFS.html │ │ │ │ │ ├─jdbc │ │ │ AbstractSQL.html │ │ │ Null.html │ │ │ package-frame.html │ │ │ package-summary.html │ │ │ RuntimeSqlException.html │ │ │ ScriptRunner.html │ │ │ SelectBuilder.html │ │ │ SQL.html │ │ │ SqlBuilder.html │ │ │ SqlRunner.html │ │ │ │ │ ├─logging │ │ │ │ Log.html │ │ │ │ LogException.html │ │ │ │ LogFactory.html │ │ │ │ package-frame.html │ │ │ │ package-summary.html │ │ │ │ │ │ │ ├─commons │ │ │ │ JakartaCommonsLoggingImpl.html │ │ │ │ package-frame.html │ │ │ │ package-summary.html │ │ │ │ │ │ │ ├─jdbc │ │ │ │ BaseJdbcLogger.html │ │ │ │ ConnectionLogger.html │ │ │ │ package-frame.html │ │ │ │ package-summary.html │ │ │ │ PreparedStatementLogger.html │ │ │ │ ResultSetLogger.html │ │ │ │ StatementLogger.html │ │ │ │ │ │ │ ├─jdk14 │ │ │ │ Jdk14LoggingImpl.html │ │ │ │ package-frame.html │ │ │ │ package-summary.html │ │ │ │ │ │ │ ├─log4j │ │ │ │ Log4jImpl.html │ │ │ │ package-frame.html │ │ │ │ package-summary.html │ │ │ │ │ │ │ ├─log4j2 │ │ │ │ Log4j2AbstractLoggerImpl.html │ │ │ │ Log4j2Impl.html │ │ │ │ Log4j2LoggerImpl.html │ │ │ │ package-frame.html │ │ │ │ package-summary.html │ │ │ │ │ │ │ ├─nologging │ │ │ │ NoLoggingImpl.html │ │ │ │ package-frame.html │ │ │ │ package-summary.html │ │ │ │ │ │ │ ├─slf4j │ │ │ │ package-frame.html │ │ │ │ package-summary.html │ │ │ │ Slf4jImpl.html │ │ │ │ Slf4jLocationAwareLoggerImpl.html │ │ │ │ Slf4jLoggerImpl.html │ │ │ │ │ │ │ └─stdout │ │ │ package-frame.html │ │ │ package-summary.html │ │ │ StdOutImpl.html │ │ │ │ │ ├─mapping │ │ │ BoundSql.html │ │ │ CacheBuilder.html │ │ │ DatabaseIdProvider.html │ │ │ DefaultDatabaseIdProvider.html │ │ │ Discriminator.html │ │ │ Environment.html │ │ │ MappedStatement.html │ │ │ package-frame.html │ │ │ package-summary.html │ │ │ ParameterMap.html │ │ │ ParameterMapping.html │ │ │ ParameterMode.html │ │ │ ResultFlag.html │ │ │ ResultMap.html │ │ │ ResultMapping.html │ │ │ ResultSetType.html │ │ │ SqlCommandType.html │ │ │ SqlSource.html │ │ │ StatementType.html │ │ │ VendorDatabaseIdProvider.html │ │ │ │ │ ├─metadata │ │ │ Column.html │ │ │ Database.html │ │ │ DatabaseFactory.html │ │ │ package-frame.html │ │ │ package-summary.html │ │ │ Table.html │ │ │ │ │ ├─parsing │ │ │ GenericTokenParser.html │ │ │ package-frame.html │ │ │ package-summary.html │ │ │ ParsingException.html │ │ │ PropertyParser.html │ │ │ TokenHandler.html │ │ │ XNode.html │ │ │ XPathParser.html │ │ │ │ │ ├─plugin │ │ │ Interceptor.html │ │ │ InterceptorChain.html │ │ │ Intercepts.html │ │ │ Invocation.html │ │ │ package-frame.html │ │ │ package-summary.html │ │ │ Plugin.html │ │ │ PluginException.html │ │ │ Signature.html │ │ │ │ │ ├─reflection │ │ │ │ ExceptionUtil.html │ │ │ │ MetaClass.html │ │ │ │ MetaObject.html │ │ │ │ package-frame.html │ │ │ │ package-summary.html │ │ │ │ ReflectionException.html │ │ │ │ Reflector.html │ │ │ │ SystemMetaObject.html │ │ │ │ │ │ │ ├─factory │ │ │ │ DefaultObjectFactory.html │ │ │ │ ObjectFactory.html │ │ │ │ package-frame.html │ │ │ │ package-summary.html │ │ │ │ │ │ │ ├─invoker │ │ │ │ GetFieldInvoker.html │ │ │ │ Invoker.html │ │ │ │ MethodInvoker.html │ │ │ │ package-frame.html │ │ │ │ package-summary.html │ │ │ │ SetFieldInvoker.html │ │ │ │ │ │ │ ├─property │ │ │ │ package-frame.html │ │ │ │ package-summary.html │ │ │ │ PropertyCopier.html │ │ │ │ PropertyNamer.html │ │ │ │ PropertyTokenizer.html │ │ │ │ │ │ │ └─wrapper │ │ │ BaseWrapper.html │ │ │ BeanWrapper.html │ │ │ CollectionWrapper.html │ │ │ DefaultObjectWrapperFactory.html │ │ │ MapWrapper.html │ │ │ ObjectWrapper.html │ │ │ ObjectWrapperFactory.html │ │ │ package-frame.html │ │ │ package-summary.html │ │ │ │ │ ├─scripting │ │ │ │ LanguageDriver.html │ │ │ │ LanguageDriverRegistry.html │ │ │ │ package-frame.html │ │ │ │ package-summary.html │ │ │ │ ScriptingException.html │ │ │ │ │ │ │ ├─defaults │ │ │ │ DefaultParameterHandler.html │ │ │ │ package-frame.html │ │ │ │ package-summary.html │ │ │ │ RawLanguageDriver.html │ │ │ │ RawSqlSource.html │ │ │ │ │ │ │ └─xmltags │ │ │ ChooseSqlNode.html │ │ │ DynamicContext.html │ │ │ DynamicSqlSource.html │ │ │ ExpressionEvaluator.html │ │ │ ForEachSqlNode.html │ │ │ IfSqlNode.html │ │ │ MixedSqlNode.html │ │ │ OgnlCache.html │ │ │ package-frame.html │ │ │ package-summary.html │ │ │ SetSqlNode.html │ │ │ SqlNode.html │ │ │ TextSqlNode.html │ │ │ TrimSqlNode.html │ │ │ VarDeclSqlNode.html │ │ │ WhereSqlNode.html │ │ │ XMLLanguageDriver.html │ │ │ XMLScriptBuilder.html │ │ │ │ │ ├─session │ │ │ │ AutoMappingBehavior.html │ │ │ │ Configuration.html │ │ │ │ ExecutorType.html │ │ │ │ LocalCacheScope.html │ │ │ │ package-frame.html │ │ │ │ package-summary.html │ │ │ │ ResultContext.html │ │ │ │ ResultHandler.html │ │ │ │ RowBounds.html │ │ │ │ SqlSession.html │ │ │ │ SqlSessionException.html │ │ │ │ SqlSessionFactory.html │ │ │ │ SqlSessionFactoryBuilder.html │ │ │ │ SqlSessionManager.html │ │ │ │ TransactionIsolationLevel.html │ │ │ │ │ │ │ └─defaults │ │ │ DefaultSqlSession.html │ │ │ DefaultSqlSessionFactory.html │ │ │ package-frame.html │ │ │ package-summary.html │ │ │ │ │ ├─transaction │ │ │ │ package-frame.html │ │ │ │ package-summary.html │ │ │ │ Transaction.html │ │ │ │ TransactionException.html │ │ │ │ TransactionFactory.html │ │ │ │ │ │ │ ├─jdbc │ │ │ │ JdbcTransaction.html │ │ │ │ JdbcTransactionFactory.html │ │ │ │ package-frame.html │ │ │ │ package-summary.html │ │ │ │ │ │ │ └─managed │ │ │ ManagedTransaction.html │ │ │ ManagedTransactionFactory.html │ │ │ package-frame.html │ │ │ package-summary.html │ │ │ │ │ └─type │ │ Alias.html │ │ ArrayTypeHandler.html │ │ BaseTypeHandler.html │ │ BigDecimalTypeHandler.html │ │ BigIntegerTypeHandler.html │ │ BlobByteObjectArrayTypeHandler.html │ │ BlobTypeHandler.html │ │ BooleanTypeHandler.html │ │ ByteArrayTypeHandler.html │ │ ByteArrayUtils.html │ │ ByteObjectArrayTypeHandler.html │ │ ByteTypeHandler.html │ │ CharacterTypeHandler.html │ │ ClobTypeHandler.html │ │ DateOnlyTypeHandler.html │ │ DateTypeHandler.html │ │ DoubleTypeHandler.html │ │ EnumOrdinalTypeHandler.html │ │ EnumTypeHandler.html │ │ FloatTypeHandler.html │ │ IntegerTypeHandler.html │ │ JdbcType.html │ │ LongTypeHandler.html │ │ MappedJdbcTypes.html │ │ MappedTypes.html │ │ NClobTypeHandler.html │ │ NStringTypeHandler.html │ │ ObjectTypeHandler.html │ │ package-frame.html │ │ package-summary.html │ │ ShortTypeHandler.html │ │ SimpleTypeRegistry.html │ │ SqlDateTypeHandler.html │ │ SqlTimestampTypeHandler.html │ │ SqlTimeTypeHandler.html │ │ StringTypeHandler.html │ │ TimeOnlyTypeHandler.html │ │ TypeAliasRegistry.html │ │ TypeException.html │ │ TypeHandler.html │ │ TypeHandlerRegistry.html │ │ TypeReference.html │ │ UnknownTypeHandler.html │ │ │ └─xref-test │ │ allclasses-frame.html │ │ index.html │ │ overview-frame.html │ │ overview-summary.html │ │ stylesheet.css │ │ │ ├─com │ │ ├─badbeans │ │ │ BeanWithDifferentTypeGetterSetter.html │ │ │ BeanWithDifferentTypeOverloadedSetter.html │ │ │ BeanWithNoGetterOverloadedSetters.html │ │ │ BeanWithOverloadedSetter.html │ │ │ GoodBean.html │ │ │ package-frame.html │ │ │ package-summary.html │ │ │ │ │ ├─domain │ │ │ └─misc │ │ │ Employee.html │ │ │ package-frame.html │ │ │ package-summary.html │ │ │ │ │ ├─ibatis │ │ │ ├─common │ │ │ │ ├─jdbc │ │ │ │ │ DbcpConfiguration.html │ │ │ │ │ package-frame.html │ │ │ │ │ package-summary.html │ │ │ │ │ ScriptRunner.html │ │ │ │ │ SimpleDataSource.html │ │ │ │ │ │ │ │ │ ├─resources │ │ │ │ │ package-frame.html │ │ │ │ │ package-summary.html │ │ │ │ │ Resources.html │ │ │ │ │ ResourcesTest.html │ │ │ │ │ │ │ │ │ └─util │ │ │ │ NodeEvent.html │ │ │ │ NodeEventParser.html │ │ │ │ NodeEventWrapper.html │ │ │ │ NodeletParserTest.html │ │ │ │ package-frame.html │ │ │ │ package-summary.html │ │ │ │ PaginatedArrayList.html │ │ │ │ PaginatedArrayListTest.html │ │ │ │ PaginatedList.html │ │ │ │ Stopwatch.html │ │ │ │ │ │ │ ├─dao │ │ │ │ ├─client │ │ │ │ │ │ Dao.html │ │ │ │ │ │ DaoException.html │ │ │ │ │ │ DaoManager.html │ │ │ │ │ │ DaoManagerBuilder.html │ │ │ │ │ │ DaoTransaction.html │ │ │ │ │ │ package-frame.html │ │ │ │ │ │ package-summary.html │ │ │ │ │ │ │ │ │ │ │ └─template │ │ │ │ │ DaoTemplate.html │ │ │ │ │ JdbcDaoTemplate.html │ │ │ │ │ package-frame.html │ │ │ │ │ package-summary.html │ │ │ │ │ SqlMapDaoTemplate.html │ │ │ │ │ │ │ │ │ └─engine │ │ │ │ ├─builder │ │ │ │ │ └─xml │ │ │ │ │ DaoClasspathEntityResolver.html │ │ │ │ │ package-frame.html │ │ │ │ │ package-summary.html │ │ │ │ │ XmlDaoManagerBuilder.html │ │ │ │ │ │ │ │ │ ├─impl │ │ │ │ │ DaoContext.html │ │ │ │ │ DaoImpl.html │ │ │ │ │ DaoProxy.html │ │ │ │ │ DaoTransactionState.html │ │ │ │ │ package-frame.html │ │ │ │ │ package-summary.html │ │ │ │ │ StandardDaoManager.html │ │ │ │ │ │ │ │ │ └─transaction │ │ │ │ │ ConnectionDaoTransaction.html │ │ │ │ │ DaoTransactionManager.html │ │ │ │ │ package-frame.html │ │ │ │ │ package-summary.html │ │ │ │ │ │ │ │ │ ├─external │ │ │ │ │ ExternalDaoTransaction.html │ │ │ │ │ ExternalDaoTransactionManager.html │ │ │ │ │ package-frame.html │ │ │ │ │ package-summary.html │ │ │ │ │ │ │ │ │ ├─jdbc │ │ │ │ │ JdbcDaoTransaction.html │ │ │ │ │ JdbcDaoTransactionManager.html │ │ │ │ │ package-frame.html │ │ │ │ │ package-summary.html │ │ │ │ │ │ │ │ │ └─sqlmap │ │ │ │ package-frame.html │ │ │ │ package-summary.html │ │ │ │ SqlMapDaoTransaction.html │ │ │ │ SqlMapDaoTransactionManager.html │ │ │ │ │ │ │ ├─jpetstore │ │ │ │ ├─domain │ │ │ │ │ Account.html │ │ │ │ │ BeanIntrospector.html │ │ │ │ │ BeanTest.html │ │ │ │ │ Cart.html │ │ │ │ │ CartItem.html │ │ │ │ │ Category.html │ │ │ │ │ ClassIntrospector.html │ │ │ │ │ DomainFixture.html │ │ │ │ │ Item.html │ │ │ │ │ LineItem.html │ │ │ │ │ Order.html │ │ │ │ │ package-frame.html │ │ │ │ │ package-summary.html │ │ │ │ │ Product.html │ │ │ │ │ Sequence.html │ │ │ │ │ │ │ │ │ └─persistence │ │ │ │ │ AccountDaoTest.html │ │ │ │ │ BasePersistenceTest.html │ │ │ │ │ CategoryDaoTest.html │ │ │ │ │ DaoConfig.html │ │ │ │ │ DaoManagerTest.html │ │ │ │ │ ItemDaoTest.html │ │ │ │ │ OrderDaoTest.html │ │ │ │ │ package-frame.html │ │ │ │ │ package-summary.html │ │ │ │ │ PersistenceFixture.html │ │ │ │ │ ProductDaoTest.html │ │ │ │ │ SequenceDaoTest.html │ │ │ │ │ │ │ │ │ ├─iface │ │ │ │ │ AccountDao.html │ │ │ │ │ CategoryDao.html │ │ │ │ │ ItemDao.html │ │ │ │ │ OrderDao.html │ │ │ │ │ package-frame.html │ │ │ │ │ package-summary.html │ │ │ │ │ ProductDao.html │ │ │ │ │ SequenceDao.html │ │ │ │ │ │ │ │ │ └─sqlmapdao │ │ │ │ AccountSqlMapDao.html │ │ │ │ BaseSqlMapDao.html │ │ │ │ CategorySqlMapDao.html │ │ │ │ ItemSqlMapDao.html │ │ │ │ OrderS
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值