我想在一次执行中执行多个查询或作业.像这样的东西,例如:
String query="select * from tab1;insert into tab1 values(...);update tab1..;delete from tab1...;"
Statement st = con1.createStatement();
ResultSet rs = st.executeQuery(query);
Run Code Online (Sandbox Code Playgroud)
或多个选择查询.查询将是动态的.
但是我无法做到这一点.运行以半冒号分隔的多个查询的方法是什么.
我有下面的字符串
String str="select * from m_menus;
select * from m_roles";
Run Code Online (Sandbox Code Playgroud)
我希望上面的字符串在一行中像
String str="select * from m_menus;select * from m_roles";
Run Code Online (Sandbox Code Playgroud)
我试过了
str1=str.replace("[\r\n]+", " ");
Run Code Online (Sandbox Code Playgroud)
并且
str1=str.replace("\n"," ");
Run Code Online (Sandbox Code Playgroud)
两者都不起作用.
我正在使用Web从Web应用程序启动MS lync聊天
<a href="im:<sip:someone@domain.com>">Go</a>
Run Code Online (Sandbox Code Playgroud)
如何在java中设置会话标题?
更新: 如何捕获文本事件?我想检索聊天以进行其他处理.与此类似如何从lync客户端2013通信中检索IM消息
在某些事件上,比如关闭聊天窗口,我想在db中保存聊天.
更新1:这样的 事情.它们位于.net https://github.com/PhilippeRaemy/LyncLog https://github.com/bujocek/LyncIMLocalHistory
当我在日期列中设置空值时,我在表中得到"1900-01-01 00:00:00.000"值,我期望该列中为NULL.因为这样在jdbc中正确处理,如果我这样说
preparedStatement.setBindParam(Types.TIMESTAMP, 12, startdate);
Run Code Online (Sandbox Code Playgroud)
log4j2.xml
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="debug">
<CustomLevels>
<CustomLevel name="TESTLOG" intLevel="552" />
</CustomLevels>
<Appenders>
<JDBC name="myAppender" tableName="MYTABLE">
<DataSource jndiName="java:MyDataSource" />
<Column name="ID" pattern="%X{ID}" isUnicode="false"/>
<Column name="startdate" pattern="%X{startdate}" isUnicode="false"/>
<Column name="enddate" pattern="%X{enddate}" isUnicode="false"/>
</JDBC>
</Appenders>
<Loggers>
<Root level="trace" includeLocation="false">
<AppenderRef ref="myAppender" level="TESTLOG" />
</Root>
</Loggers>
</Configuration>
Run Code Online (Sandbox Code Playgroud)
列startdate和enddate的数据类型是datetime
ThreadContext.put("startdate", startdate != null ? startdate.toString() : null);
ThreadContext.put("enddate", a_reportEndDate != null ? enddate.toString() : null);
final Logger LOGGER = LogManager.getLogger();
LOGGER.log(Level.forName("TESTLOG", 552), "");
Run Code Online (Sandbox Code Playgroud)
对于具有空值的String也是如此.
日志记录是否会降低应用程 以及如何限制在日志文件中打印显示标签日志?
例如.我的日志文件有以下日志
[2012-06-20 15:52:06,290] org.displaytag.tags.TableTag isFirstIteration 684 - [data] first iteration=true (row number=1)
[2012-06-20 15:52:06,290] org.displaytag.tags.TableTag isFirstIteration 684 - [data] first iteration=true (row number=1)
[2012-06-20 15:52:06,290] org.displaytag.tags.TableTag isFirstIteration 684 - [data] first iteration=true (row number=1)
[2012-06-20 15:52:06,290] org.displaytag.tags.TableTag isFirstIteration 684 - [data] first iteration=true (row number=1)
Run Code Online (Sandbox Code Playgroud)
为什么以上是在日志文件中?
log.properties文件
# Log4j configuration file.
log4j.rootCategory=DEBUG, A1
# Available levels are DEBUG, INFO, WARN, ERROR, FATAL
#
# A1 is a ConsoleAppender
#
log4j.appender.A1 = org.apache.log4j.RollingFileAppender
log4j.appender.A1.File = C:/LogInfo/logfile.log
log4j.appender.A1.MaxFileSize = 100MB …Run Code Online (Sandbox Code Playgroud) 我想JSESSIONID从cookie中读取org.eclipse.swt.browser.Browser.我尝试从Eclipse插件打开浏览器.我正在使用下面的代码片段
public static void main(String[] args)
{
Display display = new Display();
Shell shell = new Shell(display);
shell.setText("StackOverflow");
shell.setLayout(new FillLayout());
final Browser browser = new Browser(shell, SWT.NONE);
final String url = "https://....";
browser.setUrl(url);
browser.addProgressListener(new ProgressAdapter() {
@Override
public void completed(ProgressEvent event) {
String cookieText = "cookie=" + Browser.getCookie("JSESSIONID", url);
System.out.println(cookieText);
}
});
shell.setSize(400, 300);
shell.open();
while (!shell.isDisposed())
{
if (!display.readAndDispatch())
{
display.sleep();
}
}
display.dispose();
}
Run Code Online (Sandbox Code Playgroud)
但我没有获得cookie值.
这样的事情:c#获取httponly cookie
我在standalone-full.xml中添加了system-properties标记,但它不能在独立模式下工作.但是,如果我在domain.xml中添加相同的标记,则它适用于域模式.
<?xml version='1.0' encoding='UTF-8'?>
<server xmlns="urn:jboss:domain:2.2">
<extensions>
....
</extensions>
<system-properties>
<property name="java.util.Arrays.useLegacyMergeSort" value="true"/>
</system-properties>
</server>
Run Code Online (Sandbox Code Playgroud)
可以在domain.xml,host.xml和standalone.xml中的多个位置设置系统属性值.
那么standalone-full.xml呢?
我不想通过命令行设置它,甚至不在java代码中.
当我的结果集数据很大时,我得到了
com.ibm.db2.jcc.am.SqlException: [jcc][t4][10120][10898][4.9.78] Invalid operation: result set is closed. ERRORCODE=-4470, SQLSTATE=null异常,但是当我在结果集中尝试使用较少量的数据时却没有
以下是我的代码段
ResultSet rs=null;
String sql_query="select * from exception_main;select * from m_roles"
String query1=sql_query.toUpperCase();
String[] results=query1.split(";");
CSVWriter writer = new CSVWriter(new FileWriter(csv_file_path + csv_file_name), ',',CSVWriter.NO_QUOTE_CHARACTER);
for(int i=0;i<results.length;i++)
{
if(results[i].startsWith("SELECT"))
{
System.out.println("Inside select"+ results[i]);
ps = conn1.prepareStatement(results[i].toString());
rs = ps.executeQuery();
...
//writing to csv file
System.out.println("Count..." + rs.getRow());
writer.writeAll(rs, true);
while(rs.next()){
rs.deleteRow();
}
System.out.println("Count...3:::::::" + rs1.getRow());
}
}
writer.close();
rs.close();
Run Code Online (Sandbox Code Playgroud) 有一个CSVWriter类用于将结果集写入 CSV 文件。
是否有任何类似的类用于将结果集输出写入EXCEL文件。?
编辑:我的结果集数据将是动态的,所以我只想将结果集数据转储到 Excel 文件中
编辑2:参考http://www.codereye.com/2009/09/converting-resultset-to-excel-table-in.html。它将数据导出到 Excel 表,但我需要传递每列的数据类型。我想删除该依赖关系,以便结果集中的任何内容都应该盲目地导出到 Excel 表。
在域模式下,我可以使用属性文件作为模块,但问题是如果文件中有任何修改,那么我需要为域中的所有从属文件执行此操作.我想集中文件,以便在某一点上我可以改变,它将反映在所有奴隶上.
我知道在domain.xml中我们可以配置全局级系统属性,但我有大约25个属性文件.
那么有没有办法集中文件?
myjar.jar
-->package
--> class
-->properties
-->xml files
Run Code Online (Sandbox Code Playgroud)
myjar.jar是一个存档的jar文件,用于获取xml文件
URL url = Thread.currentThread().getContextClassLoader().getResource("./properties");
File queryFolder = new File(url.getFile());
for (File fileName : queryFolder.listFiles()) // null pointer exception
{
if (fileName.getName().toUpperCase().endsWith("XML"))
{
saxParser.parse(fileName, this);
}
}
Run Code Online (Sandbox Code Playgroud)
这不起作用.
试过这个
并面临下面链接中给出的相同问题
使用java nio Paths时未安装JBoss wildfly 8.x Provider"vfs"
URL w_url = mmyClass.class.getProtectionDomain().getCodeSource().getLocation();
JarEntry w_ze = null;
LOGGER.info("Jar******************" + w_url.toString());
if (w_url.toString().endsWith(".jar"))
{
try (JarInputStream jar = new JarInputStream(w_url.openStream()))
{
while ((w_ze = jar.getNextJarEntry()) != null)
{
LOGGER.info("Name *******" + w_ze.getName());
} …Run Code Online (Sandbox Code Playgroud)