小编Chr*_*oph的帖子

如何使用Ibatis返回插入内容(使用RETURNING关键字)

我正在使用iBatis/Java和Postgres 8.3.当我在ibatis中插入时,我需要返回id.
我使用下表来描述我的问题:通过运行create语句自动生成
CREATE TABLE sometable ( id serial NOT NULL, somefield VARCHAR(10) );
Sequence sometable_id_seq.

目前我使用以下sql map:

<insert id="insertValue" parameterClass="string" >
 INSERT INTO sometable ( somefield ) VALUES ( #value# );
 <selectKey keyProperty="id" resultClass="int">
  SELECT last_value AS id FROM sometable_id_seq
 </selectKey>
</insert>
Run Code Online (Sandbox Code Playgroud)

看来这是检索新插入的id的ibatis方式.Ibatis首先运行INSERT语句,然后它询问序列的最后一个id.
我怀疑这将适用于许多并发插入.(在这个问题中讨论过)

我想在ibatis中使用以下语句:
INSERT INTO sometable ( somefield ) VALUES ( #value# ) RETURNING id;

但是当我尝试在<insert>sqlMap中使用它时,ibatis不会返回id.它似乎需要<selectKey>标签.

所以这里有一个问题:

我如何在ibatis上使用上述声明?

java postgresql ibatis

14
推荐指数
2
解决办法
4万
查看次数

使用OpenGL的VBO时出现问题

我只是尝试使用VBO渲染第一个红皮书示例(白色Quad).
它适用于立即模式和顶点数组.

但是当使用VBO时,屏幕保持黑色.我想我一定错过了重要的事情.

在里面:

unsigned int bufIds[2];
glGenBuffers( 2, bufIds );
GLfloat vertices[] = {
  0.25, 0.25, 0.0,
  0.75, 0.25, 0.0,
  0.75, 0.75, 0.0,
  0.25, 0.75, 0.0
};
glBindBuffer( GL_ARRAY_BUFFER, bufIds[0] );
glBufferData( GL_ARRAY_BUFFER, 12, vertices, GL_STATIC_DRAW );
glBindBuffer( GL_ARRAY_BUFFER, 0 );

glClearColor( 0, 0, 0, 1 );
glColor3f( 1, 1, 1 );
glOrtho( 0.0, 1.0, 0.0, 1.0, -1.0, 1.0 );
Run Code Online (Sandbox Code Playgroud)

VBO的renderloop(不工作):

glClear( GL_COLOR_BUFFER_BIT );
glEnableClientState( GL_VERTEX_ARRAY );
glBindBuffer( GL_ARRAY_BUFFER, bufIds[0] );
glVertexPointer( 3, GL_FLOAT, 0, 0 );
glDrawArrays( GL_QUADS, …
Run Code Online (Sandbox Code Playgroud)

c++ opengl vbo

6
推荐指数
1
解决办法
3793
查看次数

C++ OpenGL窗口和上下文创建框架/库

我正在寻找一个多平台OpenGL框架,它抽象了C++中windows和gl上下文的创建.我想要一个OO表示Window,Context&co,我可以实例化一个Window,创建一个Context,然后可以将窗口设置为全屏.

我正在考虑为xgl,wgl和agl实现这个.但之前

所以问题来了:

在再次发明轮子之前,我应该首先检查哪些库/框架?

编辑: 到目前为止命名的库:

c++ opengl window multiplatform

3
推荐指数
1
解决办法
2035
查看次数

多平台C++项目:包含特定于平台的源

对于我的一些类,每个操作系统有不同的实现.
我的源结构是这样的:

  • 包括/ AExample.h
  • 包括/窗/ WindowsExample.h
  • 包括/ LINUX/LinuxExample.h
  • SRC/AExample.cpp
  • SRC /窗/ WindowsExample.cpp
  • SRC/LINUX/LinuxExample.cpp

A*类是特定实现的接口

我当前的构建系统是cmake - 但目前它只能构建linux版本.

在Windows构建中我只需要包含windows/*文件,而在Linux上只需要包含linux/*文件

我需要

  • 仅包含与我当前构建相关的文件
  • 当我需要AExample的实例时,选择正确的实现

您可以推荐哪些技术以专业的方式实现这一目标?

c++ build multiplatform cmake

3
推荐指数
1
解决办法
2229
查看次数

标签 统计

c++ ×3

multiplatform ×2

opengl ×2

build ×1

cmake ×1

ibatis ×1

java ×1

postgresql ×1

vbo ×1

window ×1