我已经在iPad上开始了一个新项目.我想知道在打印消息时将特定消息发送到控制台的方法名称和类名.是否有任何方法可以自动打印类和方法名称以及日志语句.请提前帮助并使我的调试更容易.
我最近收到了一位同事关于提交存储功能的一些意见.我们是否使用过程或函数在Oracle数据库中执行脱机/批处理逻辑主要是我们的应用程序的品味问题.在这两种情况下,我们都返回代码作为函数结果或作为过程OUT参数.我们通常要求从PL/SQL调用那些脱机/批处理例程,而不是从SQL调用:
-- good
declare
rc number(7);
begin
rc := our_function(1, 2, 3);
end;
-- less good
select our_function(1, 2, 3) from dual;
Run Code Online (Sandbox Code Playgroud)
后者不太好的原因是因为our_function出于性能原因可能会提交事务.这对于批处理例程是可以的.
问题是:是否有围绕此主题的最佳实践,或某些特殊关键字阻止在编译器级别的SQL语句中使用此类函数?或者我们应该避免批处理操作的功能而只使用程序?
我有桌子:
ID |Values
-----+--------------------------------
1 |AB,AD
2 |AG, ... ,BD
3 |AV
Run Code Online (Sandbox Code Playgroud)
我怎样才能将其转换为:
ID |Value
-----+------
1 |AB
1 |AD
2 |AG
... |...
2 |BD
3 |AV
Run Code Online (Sandbox Code Playgroud) for (int i = 0; i < s.length(); ++i)
{
if (s.charAt(i) >= 'A' && s.charAt(i) <= 'Z')
{
++array[s.charAt(i) - 'A'];
}
}
Run Code Online (Sandbox Code Playgroud)
我理解For循环.s.length()是26,确切地说是int [26].所以这个循环将发生26次,0-25.如果i,0-25处的Char在或者是AZ之间它将继续进行++array[s.charAt(i) - 'A'];从我看到它每个循环添加一次数组,或者每个循环添加一次数组的值,对于char i的String,所以第一个将是0秒将是2,因为数组从0开始.因此在位置添加数组i -'A'是我感到困惑的地方.
// @SuppressWarnings("unchecked")
private <T> T extractResult(Continuation continuation) {
Object result = continuation.getAttribute("result");
return (T) result;
}
Run Code Online (Sandbox Code Playgroud)
是否(在运行时)可以验证result可以转换为T?
如何在Oracle标识符中转义双引号字符?
这不起作用:
CREATE TABLE "foo""bar" ("xxx" CHAR(1))
Run Code Online (Sandbox Code Playgroud) 我无法从我知道存在且我知道格式的数据库中获取数据。
在下面的代码片段中,“if conn != null”只是一个验证数据库名称、表名称等是否正确的测试,它们确实会验证。
下面的最后一行是产生异常的原因
public static HashMap<Integer, String> getNetworkMapFromRemote(DSLContext dslRemote, Connection conn, Logger logger) {
HashMap<Integer,String> remoteMap = new HashMap<Integer, String>();
// conn is only used for test purposes
if (conn != null) {
// test to be sure database is ok
try
{
ResultSet rs = conn.createStatement().executeQuery("SELECT networkid, name FROM network");
while (rs.next()) {
System.out.println("TEST: nwid " + rs.getString(1) + " name " + rs.getString(2));
}
rs.close();
}
catch ( SQLException se )
{
logger.trace("getNetworksForDevices SqlException: " …Run Code Online (Sandbox Code Playgroud) 我有下表:
CREATE TABLE "MIGRATION"."VERSION"
(
ID BIGINT PRIMARY KEY NOT NULL GENERATED BY DEFAULT AS IDENTITY,
VERSION_DATE timestamp DEFAULT CURRENT TIMESTAMP NOT NULL
)
Run Code Online (Sandbox Code Playgroud)
我想在该表中插入一个"新行"但由于所有内容都是自动生成的,我该怎么办呢?
INSERT INTO "MIGRATION"."VERSION" VALUES();
Run Code Online (Sandbox Code Playgroud)
不工作.必须这样做,不能改变.
我想将Postgres数据库表与Jooq记录列表同步。
我有一个带有复合主键和每行中其他三个值的表
table(k1, k2, v1, v2, v3)
Run Code Online (Sandbox Code Playgroud)
例如,数据可能是
Last, First, Age, Weight, Height
Smith, Joe, 21, 75, 160
Jones, Pete, 23, 80, 180
Run Code Online (Sandbox Code Playgroud)
(请使用名称作为主键的不良形式。。。)
我的Java代码中也有该表的Jooq记录列表。假设有两个Java记录
[
<Smith, Joe, 21, 75, 180>,
<Taylor, Mark, 54, 90, 170>
]
Run Code Online (Sandbox Code Playgroud)
我想发生的是当我运行一些代码时,
我设法创建了一个执行前两部分的功能,但是卡在了第三部分上。我希望在JOOQ中有一个非常简单的“一个班轮”,基本上
delete
from my_table
where (first, last) not in (values ('Joe', 'Smith'), ('Mark', 'Taylor'))
Run Code Online (Sandbox Code Playgroud)
但是我无法解决相应的Java代码。
有任何Jooq大师在阅读此书吗?
我有明显的事情要注意吗?
我想执行这样的查询:
SELECT Table1.COL1,
Table1.COL2,
(SELECT SUM(Table2.COL3)
FROM Table2
WHERE Table2.UID = Table1.UID) SUMOF
FROM Table1;
Run Code Online (Sandbox Code Playgroud)
我该怎么做?我通常创建一个Criteria添加,只ProjectionList填充.
我创建了一个来计算... COL1COL2DetachedCriteriasum
现在,如何将这个分离的标准附加到主要标准?我的直觉说 - 这是某种需要添加到列表中的Projection,但我不知道如何.此外,不确定WHERE Table2.COL4 = Table1.COL5分离标准的工作原理.
此外,我确信此查询可能以不同的方式编写,例如使用join语句.如果有这样的方式运行它仍然很有趣.
DetachedCriteria 和主要的 CriteriaDetachedCriteria detachedCriteria = DetachedCriteria.forClass(Table2.class, "table2");
detachedCriteria
.setProjection(
Projections.projectionList()
.add(Projections.sum("table2.col3"), "sumCol3")
)
.add(Restrictions.eq("table2.uid", "table1.uid"))
;
Criteria criteria = session.createCriteria(Table1.class, "Table1");
criteria
.setProjection(
Projections.projectionList()
.add(Projections.property("Table1.col1"), "col1")
.add(Projections.property("Table1.col2"), "col2")
)
;
Run Code Online (Sandbox Code Playgroud)
@Entity
@Table(name = "Table1")
public class Table1 {
@Id
@Column(name = "uid")
public String …Run Code Online (Sandbox Code Playgroud) sql ×6
java ×5
oracle ×3
jooq ×2
arrays ×1
batch-file ×1
casting ×1
char ×1
db2 ×1
generics ×1
hibernate ×1
ipad ×1
iphone ×1
jpa ×1
mysql ×1
objective-c ×1
oracle11g ×1
postgresql ×1
string ×1
transactions ×1