Home | 简体中文 | 繁体中文 | 杂文 | Github | 知乎专栏 | Facebook | Linkedin | Youtube | 打赏(Donations) | About
知乎专栏

部分 VI. Spring Data

目录

74. EntityManager
75. Spring Data with JdbcTemplate
75.1. execute
75.2. queryForInt
75.3. queryForLong
75.4. queryForObject
75.4.1. 返回整形与字符型
75.4.2. 查询 Double 类型数据库
75.4.3. 返回日期
75.4.4. 返回结果集
75.4.5. 通过 "?" 向SQL传递参数
75.4.6. RowMapper 记录映射
75.5. queryForList
75.5.1. Iterator 用法
75.5.2. for 循环
75.5.3. forEach 用法
75.6. queryForMap
75.7. query
75.7.1. ResultSet
75.7.2. ResultSetExtractor
75.7.3. RowMapper
75.8. queryForRowSet
75.9. update
75.10. MapSqlParameterSource
75.11. 实例参考
75.11.1. 参数传递技巧
76. Spring Data with MySQL
76.1. 选择数据库表引擎
76.2. 声明实体
76.2.1. @Entity 声明实体
76.2.2. @Table 定义表名
76.2.3. @Id 定义主键
76.2.4. @Column 定义字段:
76.2.5. 非数据库字段
76.2.6. @Lob 注解属性将被持久化为 Blog 或 Clob 类型
76.2.7. @NotNull 不能为空声明
76.2.8. @Temporal 日期定义
76.2.9. 创建日期
76.2.10. @DateTimeFormat 处理日期时间格式
76.2.11. Enum 枚举数据类型
76.2.12. SET 数据结构
76.2.13. JSON 数据类型
76.2.14. 嵌入
76.2.15. @JsonIgnore
76.2.16. @EnableJpaAuditing 开启 JPA 审计功能
76.2.17. 注释 @Comment
76.2.18. @Pattern 数据匹配
76.2.19. 实体继承
76.3. 映射集合属性
76.3.1. List 集合
76.3.2. 数组集合
76.3.3. Map 集合
76.3.4. Set 集合
76.3.5. 外键名称
76.3.6. 集合表子查询
76.4. 外键
76.4.1. @JoinColumn
76.4.2. @OneToOne
76.4.3. OneToMany 一对多
76.4.4. ManyToMany 多对多
76.4.5. 外键级联删除
76.4.6. 外键级联操作
76.4.7. @JoinTable
76.4.8. @OrderBy
76.4.9. @JsonIgnoreProperties
76.5. 索引
76.5.1. 普通索引
76.5.2. 组合索引
76.5.3. 唯一索引
76.6. Repository
76.6.1. JpaRepository
76.6.2. CrudRepository
76.6.3. PagingAndSortingRepository
76.6.4. findByXXX
76.6.5. count 操作
76.6.6. delete 删除操作
76.6.7. IsNull
76.6.8. In/NotIn
76.6.9. TRUE / FALSE
76.6.10. OrderBy
76.6.11. GreaterThan
76.6.12. Sort 排序操作操作
76.6.13. Pageable 翻页操作
76.6.14. @DynamicInsert 与 @DynamicUpdate
76.6.15. 继承已存在的 Repository
76.6.16. 自定义返回字段
76.7. TransactionTemplate
76.8. JPQL @Query
76.8.1. @Modifying 更新/删除
76.8.2. 事务 @Transactional
76.8.3. 参数传递
76.8.4. 原生 SQL 操作
76.8.5. @Query 与 Pageagble
76.8.6. 返回指定字段
76.8.7. 返回指定的模型
76.8.8. @Query 与 @ManyToOne
76.8.9. Collection
76.8.10. Sort
76.8.11. 更新数据,返回值
76.8.12. 锁 @Lock
76.9. FAQ 常见问题
76.9.1. Could not write JSON: failed to lazily initialize a collection of role
76.9.2. Query did not return a unique result: 2 results were returned
76.9.3. Executing an update/delete query
77. Spring Data with Redis
77.1. 集成 Redis XML 方式
77.1.1. pom.xml
77.1.2. springframework-servlet.xml
77.1.3. Controller
77.1.4. index.jsp
77.1.5. 测试
77.2. 通过构造方法实例化 Redis
77.3. stringRedisTemplate 基本用法
77.4. RedisTemplate
77.4.1. 设置缓存时间
77.4.2. increment
77.4.3. 删除 key
77.4.4. 对象存储
77.4.5. 获取过期时间
77.4.6. 过期时间未执行
77.5. ValueOperations
77.5.1. 字符串截取
77.5.2. 追加字符串
77.5.3. 设置键的字符串值并返回其旧值
77.5.4. 返回字符串长度
77.5.5. 如果key不存便缓存。
77.5.6. 缓存多个值 /获取多个值 multiSet / multiGet
77.5.7. setBit / getBit 二进制位操作
77.6. 列表操作
77.6.1. rightPush
77.6.2. rightPushAll
77.6.3. rightPushIfPresent
77.6.4. leftPush
77.6.5. leftPushAll
77.6.6. range
77.7. SetOperations 数据类型
77.7.1. 返回集合中的所有成员
77.7.2. 取出一个成员
77.7.3. 随机获取无序集合中的一个元素
77.7.4. 随机获取 n 个成员(存在重复数据)
77.7.5. 随机获取 n 个不重复成员
77.7.6. 在两个 SET 间移动数据
77.7.7. 成员删除
77.7.8. 返回集合数量
77.7.9. 判断元素是否在集合成员中
77.7.10. 对比两个集合求交集
77.7.11. 对比两个集合求交集,然后存储到新的 key 中
77.7.12. 合并两个集合,并去处重复数据
77.7.13. 合并两个集合去重复后保存到新的 key 中
77.7.14. 计算两个合集的差集
77.7.15. 计算两个合集的差集,然后保存到新的 key 中
77.7.16. 遍历 SET 集合
77.8. ZSetOperations 有序的 set 集合
77.9. HashOperations
77.9.1. put
77.9.2. putAll
77.9.3. 从键中的哈希获取给定hashKey的值
77.9.4. delete
77.9.5. 确定哈希hashKey是否存在
77.9.6. 从哈希中获取指定的多个 hashKey 的值
77.9.7. 只有hashKey不存在时才能添加值
77.9.8. 获取整个Hash
77.9.9. 获取所有key
77.9.10. 通过 hashKey 获取所有值
77.9.11. 值加法操作
77.9.12. 遍历 Hash 表
77.10. 存储 Json 对象
77.10.1. 集成 RedisTemplate 定义新类 JsonRedisTemplate
77.10.2. 配置 Redis
77.10.3. 测试
77.11. Spring Data Redis - Repository Examples
77.11.1. @EnableRedisRepositories 启动 Redis 仓库
77.11.2. 定义 Domain 类
77.11.3. Repository 接口
77.11.4. 测试代码
77.12. CacheService
77.13. FAQ
77.13.1. Spring Data Redis
78. Spring Data with MongoDB
78.1. Example Spring Data MongoDB
78.1.1. pom.xml
78.1.2. springframework-servlet.xml
78.1.3. POJO
78.1.4. Controller
78.1.5. 查看测试结果
78.1.6. 条件查询
78.2. MongoDB 多数据源
78.2.1. Maven
78.2.2. Application 禁止自动配置 MongoDB
78.2.3. application.properties 新增配置项
78.2.4. MongoDB 配置类
78.2.5. 创建 Document 关系映射类
78.2.6. 测试控制器
78.2.7. 测试
78.3. @Document
78.3.1. 指定表名
78.3.2. @Id
78.3.3. @Version
78.3.4. @Field 定义字段名
78.3.5. @Indexed
78.3.6. @CompoundIndex 复合索引
78.3.7. @TextIndexed
78.3.8. @GeoSpatialIndex 地理位置索引
78.3.9. @Transient 丢弃数据,不存到 mongodb
78.3.10. @DBRef 做外外键引用
78.3.11. @DateTimeFormat
78.3.12. @NumberFormat
78.3.13. 在 @Document 中使用 Enum 类型
78.3.14. 在 @Document 中定义数据结构 List/Map
78.3.15. GeoJson 数据类型
78.4. MongoRepository
78.4.1. 扫描仓库接口
78.4.2. findAll()
78.4.3. deleteAll()
78.4.4. save()
78.4.5. count()
78.4.6. exists() 判断是否存在
78.4.7. existsById()
78.4.8. findByXXXX
78.4.9. findAll with OrderBy
78.4.10. findAll with Sort
78.4.11. FindAll with Pageable
78.4.12. StartingWith 和 EndingWith
78.4.13. Between
78.4.14. Before / After
78.4.15. @Query
78.5. mongoTemplate
78.5.1. Save 保存
78.5.2. Insert
78.5.3. updateFirst 修改符合条件第一条记录
78.5.4. updateMulti 修改符合条件的所有
78.5.5. 查找并保存
78.5.6. upsert - 修改符合条件时如果不存在则添加
78.5.7. 删除
78.5.8. 查找一条数据
78.5.9. 查找所有数据
78.5.10. Query
78.5.11. Criteria
78.5.12. Update
78.5.13. BasicUpdate
78.5.14. Sort
78.5.15. Query + PageRequest
78.5.16. newAggregation
78.5.17. 创建索引
78.5.18. 子对象操作
78.6. GeoJson 反序列化
78.7. FAQ
78.7.1. location object expected, location array not in correct format; nested exception is com.mongodb.MongoWriteException: location object expected, location array not in correct format
79. Spring Data with Elasticsearch
79.1. 内嵌 Elasticsearch
79.1.1. Maven
79.1.2. src/main/resources/application.properties
79.1.3. Domain Class
79.1.4. ElasticsearchRepository
79.1.5. SearchRestController
79.1.6. 测试
79.2. 集群模式
79.3. Document
79.4. Elasticsearch 删除操作
79.5. FAQ
79.5.1. java.lang.IllegalStateException: Received message from unsupported version: [2.0.0] minimal compatible version is: [5.0.0]
80. Spring boot with Data restful
80.1. Maven
81. Apache ShardingSphere
81.1. 微服务集群环境,雪花算法出现重复ID
81.1.1. 方案一、配置实现
81.1.2. 方案二、代码实现