public class HanaDialect extends AnsiSqlDialect
wrapper
Constructor and Description |
---|
HanaDialect()
构造
|
Modifier and Type | Method and Description |
---|---|
String |
dialectName()
方言名
|
PreparedStatement |
psForUpsert(Connection conn,
Entity entity,
String... keys)
构建用于upsert的
PreparedStatement 。 |
protected SqlBuilder |
wrapPageSql(SqlBuilder find,
Page page)
根据不同数据库在查询SQL语句基础上包装其分页的语句
各自数据库通过重写此方法实现最小改动情况下修改分页语句 |
getWrapper, psForDelete, psForFind, psForInsert, psForInsertBatch, psForPage, psForPage, psForUpdate, setWrapper
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
psForCount, psForCount
public String dialectName()
Dialect
dialectName
in interface Dialect
dialectName
in class AnsiSqlDialect
protected SqlBuilder wrapPageSql(SqlBuilder find, Page page)
AnsiSqlDialect
wrapPageSql
in class AnsiSqlDialect
find
- 标准查询语句page
- 分页对象public PreparedStatement psForUpsert(Connection conn, Entity entity, String... keys) throws SQLException
PreparedStatement
。
SAP HANA 使用 MERGE INTO 语法来实现 UPSERT 操作。
生成 SQL 语法为:
MERGE INTO demo AS target USING (SELECT ? AS a, ? AS b, ? AS c FROM DUMMY) AS source ON target.id = source.id WHEN MATCHED THEN UPDATE SET target.a = source.a, target.b = source.b, target.c = source.c WHEN NOT MATCHED THEN INSERT (a, b, c) VALUES (source.a, source.b, source.c);
conn
- 数据库连接对象entity
- 数据实体类(包含表名)keys
- 主键字段数组,通常用于确定匹配条件(联合主键)SQLException
- SQL 执行异常Copyright © 2025. All rights reserved.