Apache ShardingSphere(合库查询:不同数据库合并查询).
1、@PathVariable 获取Restful风格的链接参数,例如
@GetMapping("/success/{orderCode}")
@PathVariable(“orderCode”) String orderCode 接口方法参数获取
2、mybatis@insert注解新增后返回新增记录的主键id
@Options(useGeneratedKeys = true, keyProperty = “id”, keyColumn = “ID”)
3、返回日期格式错误,可使用注解@JsonFormat
例如 @JsonFormat(pattern = “YYYY-MM-dd hh:mm:ss”)
4、mysql持久化回调函数
当你在执行各种持久化方法的时候,实体的状态会随之改变,状态的改变会引发不同的生命周期事件。这些事件可以使用不同的注释符来指示发生时的回调函数。
@javax.persistence.PostLoad:加载后。
@javax.persistence.PrePersist:持久化前。
@javax.persistence.PostPersist:持久化后。
@javax.persistence.PreUpdate:更新前。
@javax.persistence.PostUpdate:更新后。
@javax.persistence.PreRemove:删除前。
@javax.persistence.PostRemove:删除后。
5、持久层Provider注解
@InsertProvider(type = BookProvider.class, method = “insert”)
@UpdateProvider(type = BookProvider.class, method = “updateBook”)
@selectProvider(type = BookProvider.class, method = “selectBook”)
@deleteProvider(type = BookProvider.class, method = “deleteBook”)
例如:
public class BookProvider{
public String updateBook(Book book) {
return new SQL() {
{
UPDATE("book");
if (book.getNumber() != null) {
SET("number=#{number}");
}
if (book.getBookName() != null) {
SET("bookName=#{bookName}");
}
if (book.getAuthorName() != null) {
SET("authorName=#{authorName}");
}
if (book.getType() != null) {
SET("type=#{type}");
}
if (book.getPrice() != null) {
SET("price=#{price}");
}
WHERE("id=#{id}");
}
}.toString();
}
}