FreyjaJdbcTemplate预览版
程序员文章站
2022-03-07 15:20:57
...
简介: FreyjaJdbcTemplate的开发前言
Freyja = JdbcTemplate + naming SQL + Cache;
Freyja是在spring的JdbcTemplate基础上的一层封装,核心是naming SQL部分。
@Entity
@Table(name = "t_user")
public class User {
@Id
@GeneratedValue
@Column(name = "uid")
private Integer id;
private String name;
@Transient
private Integer level;
@ManyToOne @JoinColumn(name = "propertyId")
private Property property;
private Integer propertyId;}
User 对应的表结构为
t_user{
int(11) uid,
varchar(32) name,
int(11) propertyId
}
可以看出annotation规则与JPA的一致,但是这不是JPA,仅仅是naming SQL,不支持其他注解。但是提供了@ManyToOne注解帮助关联加载实体。每个字段都需要在User实体内配置好映射关系。
freyja仅支持sql语法,通过jsqlparser这个工具将sql结构化并且在此基础上做nameing SQL和Cache
目前仅提供的主要接口:
<T> T get(String entityName, Object id); <T> Object save(T entity); <T> void update(T entity); <T> void saveOrUpdate(T entity); <T> Object delete(T entity); void executeUpdate(String hql, Object... args); List find(Integer first, Integer max, String hql, int type, Object... args);
其他的接口都是通过这几个衍化出来。
使用Freyja需要注意的地方:
1、对事务的支持待完善。(目前没有办法实现事务的隔离性。)
2、Freyja通过表达式来维护缓存。
3、对于不支持表达式的sql通过读取数据库数据来维护,(待完善)
4、没有查询缓存,(待完善)
等这4个完善之后正式版就可以发布出来了!
开发Freyja我希望达到的目的有2个:
1、全SQL语法支持。
2、通过掌握缓存大幅提高程序的性能。
附件有 源码 和 一份很粗糙的test例子。
上一篇: Freyja的查询缓存功能详解
下一篇: Tomcat优化
推荐阅读
-
Windows Server 2012 R2 预览版安装全程图解
-
Win10 Mobile/PC预览版14960有望本周推送
-
Win10创造者更新15031预览版《混合现实门户》开启方法
-
Xbox One版Win10创造者更新15034预览版今日推送
-
微软下线Win10 18272预览版ISO镜像:12月14日失效
-
Win10预览版快/慢速版切换后不能马上收到推送的原因
-
Win10新ISO官方镜像开放下载:Build 18290快速预览版
-
Win10创造者更新预览版15014上手体验 展示新功能与改进
-
Win10 Mobile/PC创造者更新15014快速预览版新功能汇总
-
Win10 Build 15014预览版Spectrum问题解决方法