Class DatabaseAccess


  • class DatabaseAccess
    extends java.lang.Object
    Encapsulate database access. Will do nothing if database access is not configured.
    Since:
    4.2
    • Field Detail

      • sqlSessionFactory

        private static org.apache.ibatis.session.SqlSessionFactory sqlSessionFactory
      • logger

        private static final org.slf4j.Logger logger
      • userDictCache

        private final com.google.common.cache.Cache<java.lang.Long,​java.util.List<UserDictEntry>> userDictCache
      • dbLoggingCache

        private final com.google.common.cache.Cache<java.lang.String,​java.lang.Long> dbLoggingCache
    • Method Detail

      • getUserDictWords

        java.util.List<java.lang.String> getUserDictWords​(java.lang.Long userId)
      • getWords

        java.util.List<UserDictEntry> getWords​(java.lang.Long userId,
                                               int offset,
                                               int limit)
      • addWord

        boolean addWord​(java.lang.String word,
                        java.lang.Long userId)
      • getUserId

        java.lang.Long getUserId​(java.lang.String username,
                                 java.lang.String apiKey)
      • deleteWord

        boolean deleteWord​(java.lang.String word,
                           java.lang.Long userId)
      • getOrCreateServerId

        java.lang.Long getOrCreateServerId()
        Since:
        4.3
      • getOrCreateClientId

        java.lang.Long getOrCreateClientId​(java.lang.String client)
        Since:
        4.3
      • validateWord

        private void validateWord​(java.lang.String word)
      • createAndFillTestTables

        public static void createAndFillTestTables()
        For unit tests only!
      • createAndFillTestTables

        public static void createAndFillTestTables​(boolean mysql)
        For unit tests only!
      • deleteTestTables

        public static void deleteTestTables()
        For unit tests only!
      • executeStatement

        static java.sql.ResultSet executeStatement​(org.apache.ibatis.jdbc.SQL sql)
                                            throws java.sql.SQLException
        For unit tests only
        Throws:
        java.sql.SQLException