FreyjaJdbcTemplate预览版
程序员文章站
2022-03-07 15:20:15
...
简介: 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例子。
上一篇: Tomcat 7 beta 版下载
下一篇: tomcat源码解析
推荐阅读
-
IE11浏览器怎么安装 IE11 for Win7开发者预览版安装教程
-
Win10创造者更新15019预览版本周推送:继续完善游戏模式
-
Win10创造者更新15019快速预览版推送
-
Win10创造者更新15014预览版Edge浏览器卡死解决办法
-
Win10创造者更新15019预览版更新内容汇总
-
Win10 PC版创作者更新预览版15019修复和改进内容汇总
-
Win10 PC预览版14971已修复和已知问题汇总
-
Win10 Mobile创新者更新慢速预览版14965今日推送
-
Win10 Mobile/PC预览版14969有望本周推送 14970版本截图曝光
-
Win10 PC预览版14971今日推送(附更新内容)