有人能指出一些关于可用于Java的不同Query DSL库之间性能比较的资源,如:Querydsl,jOOQ,JEQUEL,activejdbc,iciql等等......
背景:我使用Spring JDBC模板,但仍然需要以纯字符串格式编写查询.虽然我在编写直接查询时没有问题,但我担心直接依赖于DB表名.我不想使用任何ORM框架,如Hibernate或JPA/EclipseLink.我需要尽可能高的原始性能(IMO,它们适用于更多以CRUD为中心的应用程序).我可以为这些DSL提供一些轻微的开销,只要它有点(我相信,它主要是StringBuilder/String连接!)
我考虑过在某些xml中使用外部化的命名查询.但只是试图评估不同的Query DSL库提供的价值.
编辑:更多关于我的要求: 我想知道使用他们的API方法构建中等复杂查询时这些之间的性能比较.我需要的是使用任何这些查询DSL库生成查询字符串并将其传递给Spring JDBC模板.所以,我想知道如果添加这个中间步骤会导致相当大的性能损失,我想使用命名查询或构建我自己的库,它只使用StingBuilder或类似的方法
用jOOQ,iciql,QueryDSL更新我的经验:
虽然我错过了在我的原帖中提到这一点,但我也热衷于易用性和我在实体类中需要的开销(如果需要任何额外的注释或实现).
jOOQ:
Iciql:
QueryDSL:
(所有观察对我都知之甚少;如果其中任何一个不正确,请更正)
综上所述,我坚持编写命名查询:(但由于Lukas Eder的答案似乎解释了我原来的帖子关注(表现),我接受了他的.
在最近的趋势中,我看到人们使用JavaScript而不是使用动画GIF动画CSS精灵?
例如:
这只是为了展示或试验技术,还是有任何好处.我有兴趣了解它的好处,如果有的话.我问的原因是我无法弄清楚在两种情况下我们都需要生成中间帧(主要是使用补间技术).
任何人都可以建议在Backbone.js和jQuery支持的应用程序中使用数据表/网格小部件吗?
目前我正在使用DataTables.net小部件,我为Backbone.js编写了一个自定义绑定类型的函数.但是与Backbone及其API的绑定对我来说似乎很复杂.有没有任何简单的小工具和干净聪明的API(我喜欢YUI网格,但单独使用网格JS大小约为360KB +)
我想突出显示当前的导航状态.就像哈希变换一样#home
,我想以不同的方式设置'Home'菜单链接的样式,并且类似于其他链接.
当单击和其他链接时route:home
,Backbone.js会触发单个事件,例如.......我看不到每个hashchange都会触发的任何常见事件.有了这个,我需要通过绑定到所有路由事件来编写状态突出显示逻辑,我认为这不是一个好的解决方案.route:some-other
#home
所以,我已经Backbone.Router.route
在我的路由器子类/对象中重写了,比如
// override backbone' Router.route method to publish
// common 'route_change' event for any hash change
route : function(route, name, callback) {
Backbone.history || (Backbone.history = new Backbone.History);
if (!_.isRegExp(route)) route = this._routeToRegExp(route);
Backbone.history.route(route, _.bind(function(fragment) {
var args = this._extractParameters(route, fragment);
callback.apply(this, args);
this.trigger.apply(this, ['route:' + name].concat(args));
// ADDED BY: ManiKanta G
// name: route method
// fragment: route path
// args: any additional args
this.trigger.apply(this, ['route_change'].concat(name, fragment, args));
}, …
Run Code Online (Sandbox Code Playgroud) 在Node.js中,我需要异步读取文件并验证其内容。我正在使用Node.js 6.6,bluebird 3.4.6
示例代码:
// pseudo function to read file contents - resolves when 'flag' is true, rejects when 'flag' is false.
function readFile(flag) {
return new Promise(function (resolve, reject) {
console.log('Reading file...');
if (flag) {
resolve('File contents');
} else {
reject('readFile error');
}
});
}
// pseudo function to validate file contents - resolves when 'flag' is true, rejects when 'flag' is false.
function validate(fileContents, flag) {
return new Promise(function (resolve, reject) {
console.log('Validating file: ', …
Run Code Online (Sandbox Code Playgroud)我知道Spring不支持接口注入,我已多次阅读过.
但是今天我在Martin Fowler(链接)中看到一篇关于IOC的文章时,似乎在Spring中使用ApplicationContextAware是类似于Interface注入的.
当我们的Spring bean需要Spring'上下文引用时,我们将实现ApplicationContextAware并实现setApplicationContext(ApplicationContext context)方法,并且我们将bean包含在配置文件中.这不是接口注入,在那里告诉Spring注入(或),比如说,将上下文的引用传递给这个bean吗?
或者我在这里遗漏了什么?感谢您的任何信息!
ManiKanta
我发现了以下关于 JavaScript 中自定义事件处理的帖子。从这些文章中,(至少)有两种处理/触发自定义事件的方法:
但是处理(触发和订阅)自定义事件的推荐方法是什么?
[编辑]这个问题的上下文不使用任何库,如 jQuery、YUI...,而只是简单的 JavaScript
[编辑2]似乎存在细微的差异,至少在错误处理方面是这样。Dean Edwards ( http://dean.edwards.name/weblog/2009/03/callbacks-vs-events/ ) 建议采用前一种方式进行自定义事件处理。我们可以说这是有区别的吗?
我试图使用反射从超类型引用变量获取注释细节,以使该方法接受所有子类型.但isAnnotationPresent()
回来了false
.与其他注释相关的方法相同.如果在确切类型上使用,则输出符合预期.
我知道,即使我通过超类型引用,也可以在对象上获得注释信息.
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE})
public @interface Table {
String name();
}
@Table(name = "some_table")
public class SomeEntity {
public static void main(String[] args) {
System.out.println(SomeEntity.class.isAnnotationPresent(Table.class)); // true
System.out.println(new SomeEntity().getClass().isAnnotationPresent(Table.class)); // true
Class<?> o1 = SomeEntity.class;
System.out.println(o1.getClass().isAnnotationPresent(Table.class)); // false
Class<SomeEntity> o2 = SomeEntity.class;
System.out.println(o2.getClass().isAnnotationPresent(Table.class)); // false
Object o3 = SomeEntity.class;
System.out.println(o3.getClass().isAnnotationPresent(Table.class)); // false
}
}
Run Code Online (Sandbox Code Playgroud)
如何获取注释信息?
有人可以解释下面的,相当复杂的递归通用模板用法吗?
public abstract class Data<E extends Data<E, S>,
S extends Writer<E>> extends Entity<E,S>
Run Code Online (Sandbox Code Playgroud)
在使用递归泛型时我们应该记住什么,如上所述.这些类型之间的关系和规则如何,这里是E&S?
如果有的话,请提供一些有关此类通用用法的资源/链接/书籍.我知道有一本书谈论这个,有效的Java,Joshua Bloch的第二版(议题27)
java ×5
backbone.js ×2
javascript ×2
animated-gif ×1
animation ×1
annotations ×1
bluebird ×1
css-sprites ×1
datatables ×1
dom-events ×1
generics ×1
highlighting ×1
jackson ×1
jersey ×1
jettison ×1
jooq ×1
jquery ×1
navigation ×1
node.js ×1
performance ×1
promise ×1
querydsl ×1
recursion ×1
reflection ×1
rest ×1
spring ×1
spring-jdbc ×1
supertype ×1
templating ×1
widget ×1