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

部分 III. Spring Data

目录

49. EntityManager
50. Spring Data with JdbcTemplate
50.1. execute
50.2. queryForInt
50.3. queryForLong
50.4. queryForObject
50.4.1. 返回整形与字符型
50.4.2. 查询 Double 类型数据库
50.4.3. 返回日期
50.4.4. 返回结果集
50.4.5. 通过 "?" 向SQL传递参数
50.4.6. RowMapper 记录映射
50.5. queryForList
50.5.1. Iterator 用法
50.5.2. for 循环
50.5.3. forEach 用法
50.6. queryForMap
50.7. query
50.7.1. ResultSet
50.7.2. ResultSetExtractor
50.7.3. RowMapper
50.8. queryForRowSet
50.9. update
50.10. MapSqlParameterSource
50.11. 实例参考
50.11.1. 参数传递技巧
51. Spring Data with MySQL
51.1. 选择数据库表引擎
51.2. 声明实体
51.2.1. @Entity 声明实体
51.2.2. @Table 定义表名
51.2.3. @Id 定义主键
51.2.4. @Column 定义字段:
51.2.5. 非数据库字段
51.2.6. @Lob 注解属性将被持久化为 Blog 或 Clob 类型
51.2.7. @NotNull 不能为空声明
51.2.8. @Temporal 日期定义
51.2.9. 创建日期
51.2.10. @DateTimeFormat 处理日期时间格式
51.2.11. Enum 枚举数据类型
51.2.12. SET 数据结构
51.2.13. JSON 数据类型
51.2.14. 嵌入
51.2.15. @JsonIgnore
51.2.16. @EnableJpaAuditing 开启 JPA 审计功能
51.2.17. 注释 @Comment
51.2.18. @Pattern 数据匹配
51.2.19. 实体继承
51.3. 映射集合属性
51.3.1. List 集合
51.3.2. 数组集合
51.3.3. Map 集合
51.3.4. Set 集合
51.3.5. 外键名称
51.4. 外键
51.4.1. @JoinColumn
51.4.2. @OneToOne
51.4.3. OneToMany 一对多
51.4.4. ManyToMany 多对多
51.4.5. 外键级联操作
51.4.6. @JoinTable
51.4.7. @OrderBy
51.5. 索引
51.5.1. 普通索引
51.5.2. 组合索引
51.5.3. 唯一索引
51.6. Repository
51.6.1. JpaRepository
51.6.2. CrudRepository
51.6.3. PagingAndSortingRepository
51.6.4. findByXXX
51.6.5. count 操作
51.6.6. delete 删除操作
51.6.7. IsNull
51.6.8. OrderBy
51.6.9. GreaterThan
51.6.10. Sort 排序操作操作
51.6.11. Pageable 翻页操作
51.6.12. @DynamicInsert 与 @DynamicUpdate
51.6.13. 继承已存在的 Repository
51.6.14. 自定义返回字段
51.7. TransactionTemplate
51.8. JPQL @Query
51.8.1. @Modifying 更新/删除
51.8.2. 事务 @Transactional
51.8.3. 参数传递
51.8.4. 原生 SQL 操作
51.8.5. @Query 与 Pageagble
51.8.6. 返回指定字段
51.8.7. 返回指定的模型
51.8.8. Collection
51.8.9. Sort
51.8.10. 锁 @Lock
51.9. FAQ 常见问题
51.9.1. Could not write JSON: failed to lazily initialize a collection of role
52. Spring Data with Redis
52.1. 集成 Redis XML 方式
52.1.1. pom.xml
52.1.2. springframework-servlet.xml
52.1.3. Controller
52.1.4. index.jsp
52.1.5. 测试
52.2. 通过构造方法实例化 Redis
52.3. RedisTemplate
52.3.1. 设置缓存时间
52.3.2. increment
52.3.3. 删除 key
52.3.4. 对象存储
52.3.5. 获取过期时间
52.3.6. 过期时间未执行
52.4. stringRedisTemplate 基本用法
52.5. ValueOperations
52.5.1. 字符串截取
52.5.2. 追加字符串
52.5.3. 设置键的字符串值并返回其旧值
52.5.4. 返回字符串长度
52.5.5. 如果key不存便缓存。
52.5.6. 缓存多个值 /获取多个值 multiSet / multiGet
52.5.7. setBit / getBit 二进制位操作
52.6. 列表操作
52.6.1. rightPush
52.6.2. rightPushAll
52.6.3. rightPushIfPresent
52.6.4. leftPush
52.6.5. leftPushAll
52.6.6. range
52.7. SetOperations 数据类型
52.7.1. 返回集合中的所有成员
52.7.2. 取出一个成员
52.7.3. 随机获取无序集合中的一个元素
52.7.4. 随机获取 n 个成员(存在重复数据)
52.7.5. 随机获取 n 个不重复成员
52.7.6. 在两个 SET 间移动数据
52.7.7. 成员删除
52.7.8. 返回集合数量
52.7.9. 判断元素是否在集合成员中
52.7.10. 对比两个集合求交集
52.7.11. 对比两个集合求交集,然后存储到新的 key 中
52.7.12. 合并两个集合,并去处重复数据
52.7.13. 合并两个集合去重复后保存到新的 key 中
52.7.14. 计算两个合集的差集
52.7.15. 计算两个合集的差集,然后保存到新的 key 中
52.7.16. 遍历 SET 集合
52.8. ZSetOperations 有序的 set 集合
52.9. HashOperations
52.9.1. put
52.9.2. putAll
52.9.3. 从键中的哈希获取给定hashKey的值
52.9.4. delete
52.9.5. 确定哈希hashKey是否存在
52.9.6. 从哈希中获取指定的多个 hashKey 的值
52.9.7. 只有hashKey不存在时才能添加值
52.9.8. 获取整个Hash
52.9.9. 获取所有key
52.9.10. 通过 hashKey 获取所有值
52.9.11. 值加法操作
52.9.12. 遍历 Hash 表
52.10. 存储 Json 对象
52.10.1. 集成 RedisTemplate 定义新类 JsonRedisTemplate
52.10.2. 配置 Redis
52.10.3. 测试
52.11. Spring Data Redis - Repository Examples
52.11.1. @EnableRedisRepositories 启动 Redis 仓库
52.11.2. 定义 Domain 类
52.11.3. Repository 接口
52.11.4. 测试代码
52.12. FAQ
52.12.1. Spring Data Redis
53. Spring Data with MongoDB
53.1. Example Spring Data MongoDB
53.1.1. pom.xml
53.1.2. springframework-servlet.xml
53.1.3. POJO
53.1.4. Controller
53.1.5. 查看测试结果
53.1.6. 条件查询
53.2. MongoDB 多数据源
53.2.1. Maven
53.2.2. Application 禁止自动配置 MongoDB
53.2.3. application.properties 新增配置项
53.2.4. MongoDB 配置类
53.2.5. 创建 Document 关系映射类
53.2.6. 测试控制器
53.2.7. 测试
53.3. @Document
53.3.1. 指定表名
53.3.2. @Id
53.3.3. @Version
53.3.4. @Field 定义字段名
53.3.5. @Indexed
53.3.6. @CompoundIndex 复合索引
53.3.7. @TextIndexed
53.3.8. @GeoSpatialIndex 地理位置索引
53.3.9. @Transient 丢弃数据,不存到 mongodb
53.3.10. @DBRef 做外外键引用
53.3.11. @DateTimeFormat
53.3.12. @NumberFormat
53.3.13. 在 @Document 中使用 Enum 类型
53.3.14. 在 @Document 中定义数据结构 List/Map
53.3.15. GeoJson 数据类型
53.4. MongoRepository
53.4.1. 扫描仓库接口
53.4.2. findAll()
53.4.3. deleteAll()
53.4.4. save()
53.4.5. count()
53.4.6. exists() 判断是否存在
53.4.7. existsById()
53.4.8. findByXXXX
53.4.9. findAll with OrderBy
53.4.10. findAll with Sort
53.4.11. FindAll with Pageable
53.4.12. StartingWith 和 EndingWith
53.4.13. Between
53.4.14. Before / After
53.4.15. @Query
53.5. mongoTemplate
53.5.1. Save 保存
53.5.2. Insert
53.5.3. updateFirst 修改符合条件第一条记录
53.5.4. updateMulti 修改符合条件的所有
53.5.5. 查找并保存
53.5.6. upsert - 修改符合条件时如果不存在则添加
53.5.7. 删除
53.5.8. 查找一条数据
53.5.9. 查找所有数据
53.5.10. Query
53.5.11. Criteria
53.5.12. Update
53.5.13. BasicUpdate
53.5.14. Sort
53.5.15. Query + PageRequest
53.5.16. newAggregation
53.5.17. 创建索引
53.5.18. 子对象操作
53.6. GeoJson 反序列化
53.7. FAQ
53.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
54. Spring Data with Elasticsearch
54.1. 内嵌 Elasticsearch
54.1.1. Maven
54.1.2. src/main/resources/application.properties
54.1.3. Domain Class
54.1.4. ElasticsearchRepository
54.1.5. SearchRestController
54.1.6. 测试
54.2. 集群模式
54.3. Document
54.4. Elasticsearch 删除操作
54.5. FAQ
54.5.1. java.lang.IllegalStateException: Received message from unsupported version: [2.0.0] minimal compatible version is: [5.0.0]
55. Spring boot with Data restful
55.1. Maven
56. Apache ShardingSphere
56.1. 微服务集群环境,雪花算法出现重复ID
56.1.1. 方案一、配置实现
56.1.2. 方案二、代码实现