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

部分 II. Spring Data

目录

8. EntityManager
9. Spring Data with JdbcTemplate
9.1. execute
9.2. queryForInt
9.3. queryForLong
9.4. queryForObject
9.4.1. 返回整形与字符型
9.4.2. 查询 Double 类型数据库
9.4.3. 返回日期
9.4.4. 返回结果集
9.4.5. 通过 "?" 向SQL传递参数
9.4.6. RowMapper 记录映射
9.5. queryForList
9.5.1. Iterator 用法
9.5.2. for 循环
9.5.3. forEach 用法
9.6. queryForMap
9.7. query
9.7.1. ResultSet
9.7.2. ResultSetExtractor
9.7.3. RowMapper
9.8. queryForRowSet
9.9. update
9.10. MapSqlParameterSource
9.11. 实例参考
9.11.1. 参数传递技巧
10. Spring Data with MySQL
10.1. 选择数据库表引擎
10.2. 声明实体
10.2.1. @Entity 声明实体
10.2.2. @Table 定义表名
10.2.3. @Id 定义主键
10.2.4. @Column 定义字段:
10.2.5. 非数据库字段
10.2.6. @Lob 注解属性将被持久化为 Blog 或 Clob 类型
10.2.7. @NotNull 不能为空声明
10.2.8. @Temporal 日期定义
10.2.9. 创建日期
10.2.10. @DateTimeFormat 处理日期时间格式
10.2.11. Enum 枚举数据类型
10.2.12. SET 数据结构
10.2.13. JSON 数据类型
10.2.14. 嵌入
10.2.15. @JsonIgnore
10.2.16. @EnableJpaAuditing 开启 JPA 审计功能
10.2.17. 注释 @Comment
10.2.18. @Pattern 数据匹配
10.2.19. 实体继承
10.2.20. 虚拟列
10.2.21. 语言区域
10.3. 映射集合属性
10.3.1. List 集合
10.3.2. 数组集合
10.3.3. Map 集合
10.3.4. Set 集合
10.3.5. 外键名称
10.3.6. 集合表子查询
10.4. 外键
10.4.1. @JoinColumn
10.4.2. @OneToOne
10.4.3. OneToMany 一对多
10.4.4. ManyToMany 多对多
10.4.5. 外键级联删除
10.4.6. 外键级联操作
10.4.7. @JoinTable
10.4.8. @OrderBy
10.4.9. @JsonIgnoreProperties
10.4.10. 允许外键为 NULL
10.4.11. 只要外键,不要数据结构
10.5. 索引
10.5.1. 普通索引
10.5.2. 组合索引
10.5.3. 唯一索引
10.6. Repository/CrudRepository/PagingAndSortingRepository/JpaRepository
10.6.1. JpaRepository
10.6.2. CrudRepository
10.6.3. PagingAndSortingRepository
10.6.4. findByXXX
10.6.5. count 操作
10.6.6. delete 删除操作
10.6.7. IsNull
10.6.8. In/NotIn
10.6.9. TRUE / FALSE
10.6.10. 比较数值大小
10.6.11. 判断日期和时间 Before / After
10.6.12. Between
10.6.13. Exists
10.6.14. OrderBy
10.6.15. GreaterThan
10.6.16. Sort 排序操作操作
10.6.17. Pageable 翻页操作
10.6.18. @DynamicInsert 与 @DynamicUpdate
10.6.19. 继承已存在的 Repository
10.6.20. Optional
10.6.21. stream 用法
10.7. TransactionTemplate
10.8. JPQL @Query
10.8.1. @Modifying 更新/删除
10.8.2. 参数传递
10.8.3. 原生 SQL 操作
10.8.4. @Query 与 Pageagble
10.8.5. 自定义返回字段
10.8.6. 返回指定字段
10.8.7. 返回指定的模型
10.8.8. 通过定义接口,返回指定字段
10.8.9. 修改返回数据
10.8.10. 事务 @Transactional
10.8.11. IN / NOT 子查询
10.9. FAQ 常见问题
10.9.1. Could not write JSON: failed to lazily initialize a collection of role
10.9.2. Query did not return a unique result: 2 results were returned
10.9.3. Executing an update/delete query
10.9.4. could not initialize proxy [cn.netkiller.domain.Device#16] - no Session
10.9.5. this is incompatible with sql_mode=only_full_group_by
10.9.6. A TupleBackedMap cannot be modified
11. Spring Data with Redis
11.1. 集成 Redis XML 方式
11.1.1. pom.xml
11.1.2. springframework-servlet.xml
11.1.3. Controller
11.1.4. index.jsp
11.1.5. 测试
11.2. 通过构造方法实例化 Redis
11.3. StringRedisTemplate 基本用法
11.3.1. 存储数据
11.3.2. 获取值并删除
11.3.3. 取出数据
11.4. RedisTemplate
11.4.1. 设置缓存时间
11.4.2. increment
11.4.3. 删除 key
11.4.4. 对象存储
11.4.5. 获取过期时间
11.4.6. 过期时间未执行
11.4.7. 判断 key 是否存在
11.5. ValueOperations
11.5.1. 字符串截取
11.5.2. 追加字符串
11.5.3. 设置键的字符串值并返回其旧值
11.5.4. 返回字符串长度
11.5.5. 如果key不存便缓存。
11.5.6. 缓存多个值 /获取多个值 multiSet / multiGet
11.5.7. setBit / getBit 二进制位操作
11.6. 列表操作
11.6.1. rightPush
11.6.2. rightPushAll
11.6.3. rightPushIfPresent
11.6.4. leftPush
11.6.5. leftPushAll
11.6.6. range
11.7. SetOperations 数据类型
11.7.1. 返回集合中的所有成员
11.7.2. 取出一个成员
11.7.3. 随机获取无序集合中的一个元素
11.7.4. 随机获取 n 个成员(存在重复数据)
11.7.5. 随机获取 n 个不重复成员
11.7.6. 在两个 SET 间移动数据
11.7.7. 成员删除
11.7.8. 返回集合数量
11.7.9. 判断元素是否在集合成员中
11.7.10. 对比两个集合求交集
11.7.11. 对比两个集合求交集,然后存储到新的 key 中
11.7.12. 合并两个集合,并去处重复数据
11.7.13. 合并两个集合去重复后保存到新的 key 中
11.7.14. 计算两个合集的差集
11.7.15. 计算两个合集的差集,然后保存到新的 key 中
11.7.16. 遍历 SET 集合
11.8. ZSetOperations 有序的 set 集合
11.9. HashOperations
11.9.1. put
11.9.2. putAll
11.9.3. 从键中的哈希获取给定hashKey的值
11.9.4. delete
11.9.5. 确定哈希hashKey是否存在
11.9.6. 从哈希中获取指定的多个 hashKey 的值
11.9.7. 只有hashKey不存在时才能添加值
11.9.8. 获取整个Hash
11.9.9. 获取所有key
11.9.10. 通过 hashKey 获取所有值
11.9.11. 值加法操作
11.9.12. 遍历 Hash 表
11.10. 存储 Json 对象
11.10.1. 集成 RedisTemplate 定义新类 JsonRedisTemplate
11.10.2. 配置 Redis
11.10.3. 测试
11.11. Spring Data Redis - Repository Examples
11.11.1. @EnableRedisRepositories 启动 Redis 仓库
11.11.2. 定义 Domain 类
11.11.3. Repository 接口
11.11.4. 测试代码
11.12. Redis Pub/Sub
11.12.1. MessageListener 方案
11.12.2. @RedisListener 注解方案
11.12.3. 线程池
11.13. CacheService
11.14. FAQ
11.14.1. Spring Data Redis
12. Spring Data with MongoDB
12.1. Example Spring Data MongoDB
12.1.1. pom.xml
12.1.2. springframework-servlet.xml
12.1.3. POJO
12.1.4. Controller
12.1.5. 查看测试结果
12.1.6. 条件查询
12.2. MongoDB 多数据源
12.2.1. Maven
12.2.2. Application 禁止自动配置 MongoDB
12.2.3. application.properties 新增配置项
12.2.4. MongoDB 配置类
12.2.5. 创建 Document 关系映射类
12.2.6. 测试控制器
12.2.7. 测试
12.3. @Document
12.3.1. 指定表名
12.3.2. @Id
12.3.3. @Version
12.3.4. @Field 定义字段名
12.3.5. @Indexed
12.3.6. @CompoundIndex 复合索引
12.3.7. @TextIndexed
12.3.8. @GeoSpatialIndex 地理位置索引
12.3.9. @Transient 丢弃数据,不存到 mongodb
12.3.10. @DBRef 做外外键引用
12.3.11. @DateTimeFormat
12.3.12. @NumberFormat
12.3.13. 在 @Document 中使用 Enum 类型
12.3.14. 在 @Document 中定义数据结构 List/Map
12.3.15. GeoJson 数据类型
12.4. MongoRepository
12.4.1. 扫描仓库接口
12.4.2. findAll()
12.4.3. deleteAll()
12.4.4. save()
12.4.5. count()
12.4.6. exists() 判断是否存在
12.4.7. existsById()
12.4.8. findByXXXX
12.4.9. findAll with OrderBy
12.4.10. findAll with Sort
12.4.11. FindAll with Pageable
12.4.12. StartingWith 和 EndingWith
12.4.13. Between
12.4.14. Before / After
12.4.15. @Query
12.5. mongoTemplate
12.5.1. Save 保存
12.5.2. Insert
12.5.3. updateFirst 修改符合条件第一条记录
12.5.4. updateMulti 修改符合条件的所有
12.5.5. 查找并保存
12.5.6. upsert - 修改符合条件时如果不存在则添加
12.5.7. 删除
12.5.8. 查找一条数据
12.5.9. 查找所有数据
12.5.10. Query
12.5.11. Criteria
12.5.12. Update
12.5.13. BasicUpdate
12.5.14. Sort
12.5.15. Query + PageRequest
12.5.16. newAggregation
12.5.17. 创建索引
12.5.18. 子对象操作
12.6. GeoJson 反序列化
12.7. FAQ
12.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
13. Spring Data with Elasticsearch
13.1. 内嵌 Elasticsearch
13.1.1. Maven
13.1.2. src/main/resources/application.properties
13.1.3. Domain Class
13.1.4. ElasticsearchRepository
13.1.5. SearchRestController
13.1.6. 测试
13.2. 集群模式
13.3. Document
13.4. Elasticsearch 删除操作
13.5. FAQ
13.5.1. java.lang.IllegalStateException: Received message from unsupported version: [2.0.0] minimal compatible version is: [5.0.0]
14. Spring boot with Data restful
14.1. Maven
15. Apache ShardingSphere
15.1. 微服务集群环境,雪花算法出现重复ID
15.1.1. 方案一、配置实现
15.1.2. 方案二、代码实现