我将设计一个DW,我听说了物化视图.实际上我想创建一个视图,它应该在更改基表时自动更新.任何人都可以用查询示例解释..
我在Java中使用ResultSet,并且不确定如何正确关闭它.我正在考虑使用ResultSet来构造HashMap,然后关闭ResultSet.这种HashMap技术是否有效,或者是否有更有效的方法来处理这种情况?我需要键和值,所以使用HashMap似乎是一个合乎逻辑的选择.
如果使用HashMap是最有效的方法,我如何在我的代码中构造和使用HashMap?
这是我尝试过的:
public HashMap resultSetToHashMap(ResultSet rs) throws SQLException {
ResultSetMetaData md = rs.getMetaData();
int columns = md.getColumnCount();
HashMap row = new HashMap();
while (rs.next()) {
for (int i = 1; i <= columns; i++) {
row.put(md.getColumnName(i), rs.getObject(i));
}
}
return row;
}
Run Code Online (Sandbox Code Playgroud) 我有2个表,我使用join从这两个表中获取常见记录.我使用了以下查询但我的问题是我得到的记录加倍.查询如下
SELECT * FROM pos_metrics pm INNER JOIN pos_product_selling pps ON
pm.p_id=pps.p_id WHERE pm.p_id='0' AND pps.pos_buying_id='0' AND pm.type=1
Run Code Online (Sandbox Code Playgroud)
pos_metrics表:
pos_product_selling表:
输出:
编辑
当我尝试一起使用GROUP BY和DISTINCT时,我没有得到重复,但重复了第二个表中的值.还有其他方法吗?
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new NewJFrame().setVisible(true);
}
});
Run Code Online (Sandbox Code Playgroud)
请告诉我上面代码实际上做了什么.我正在寻找逐行解释.特别是第一行并告诉我为什么我们使用它,在什么情况下我们必须使用它.
是否有可能在JButtons中实现文本的自动换行?我在运行时创建的动态按钮很少.我想在按钮上放置自动换行功能,这样我就可以在按钮上看到更好的测试.有可能吗?
我有一个条形码扫描仪,在我的java应用程序中,我必须带一个弹出窗口,以便在使用条形码扫描产品时显示与数据库条形码相关的所有信息.我没有关于应用程序的文本框我必须在内部处理这个部分.我该怎么做呢 ?有什么建议吗?我正在使用swing for UI.
编辑
条码扫描器是USB的.如果我们扫描某些内容,它会将结果输出到具有焦点的文本框中.但是我没有在打开的页面上工作的文本框.我可以使用一些隐藏的文本框并在那里读取值吗?
我不知道我的代码发生了什么.我没有错误,也没有回应.我正在将数据写入serialport并通过激活等待响应 port.notifyOnDataAvailable(true);
但是此事件未被触发且inputstream.available()始终返回0.可能有什么问题?我在linux中使用RXTX.
编辑
package testConn;
import forms_helper.global_variables;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintStream;
import java.io.UnsupportedEncodingException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.comm.*;
import java.util.*;
/** Check each port to see if it is open. **/
public class openPort implements SerialPortEventListener {
static Enumeration portList;
static CommPortIdentifier portId;
static String messageString;
public static SerialPort serialPort;
static OutputStream outputStream;
InputStream inputStream;
static boolean outputBufferEmptyFlag = false;
private BufferedReader is;
private PrintStream os;
public void open() { …
Run Code Online (Sandbox Code Playgroud) 我的应用程序有问题,用户一次打开多个窗口.我已经添加了dispose()方法来关闭窗口.现在我应该始终保持至少一个窗口打开,以便应用程序不会在未完全关闭的情况下隐藏.如果您不理解,请阅读以下方案:
我有窗口A和窗口B同时打开.现在我可以关闭窗口A或窗口B,但不能同时关闭两者.换句话说,只有在窗口A打开时才允许窗口B关闭,反之亦然.我怎么做这个?
是否有任何函数或库可用于清理用户输入.例如,如果用户输入一个调用的文本,baily's
那么我应该'
在将其发送到mysql查询之前将其转义.类似地,我应该能够过滤空字符和\n,\ t,\ r \n等.就像在PHP中我们mysql_real_escape_string($input)
有什么用Java来做这个吗?
我有一个属性文件,它在一个默认包中,我使用属性文件的类也在同一个默认包中.如果我只使用文件名而没有任何路径我会收到错误.显然这是不正确的,因为我应该给某种路径来引用tat文件.我将构建应用程序使其成为一个jar文件,所以我应该如何给出路径,因为属性文件应该进入该jar文件.我正在使用Netbeans IDE.
编辑
Properties pro = new Properties();
try {
pro.load(new FileInputStream("pos_config.properties"));
pro.setProperty("pos_id", "2");
pro.setProperty("shop_type", "2");
pro.store(new FileOutputStream("pos_config.properties"), null);
String pos_id = pro.getProperty("pos_id");
if(pos_id.equals("")){
pos_id="0" ;
}
global_variables.station_id = Integer.parseInt(pos_id);
String shop_type = pro.getProperty("shop_type");
if(shop_type.equals("")){
shop_type="0" ;
}
global_variables.shop_type = Integer.parseInt(shop_type);
} catch (IOException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}
Run Code Online (Sandbox Code Playgroud) java ×8
swing ×4
action ×1
concurrency ×1
hashmap ×1
jar ×1
jbutton ×1
join ×1
left-join ×1
linux ×1
mysql ×1
properties ×1
resources ×1
resultset ×1
runnable ×1
rxtx ×1
serial-port ×1
sql-server ×1
string ×1
windows ×1