小编pai*_*sad的帖子

如何从CSV文件的某些字段创建h2数据库

我想从CSV文件创建一个新的嵌入式h2数据库.这是csv文件的片段

国家,城市,AccentCity,地区,人口,经纬度

广告,aixovall,Aixovall,06,42.4666667,1.4833333

广告,安道尔,安道尔,07,42.5,1.5166667

ad,andorra la vella,Andorra la Vella,07,20430,42.5,1.5166667

广告,安道尔 - VIEILLE,安道尔 - 维埃耶,07,42.5,1.5166667

广告,安道尔,安道尔,07,42.5,1.5166667

我不想检索csv文件的所有字段.实际上,除了CityRegion字段之外,我想要它们.

此外,我想只在POPULATION的内容不为空的情况下才将csv文件的内容插入到数据库中.

因此,在上面的csv示例中,我们只能将第3行插入到h2表WORLDCITIES中,因为它的'population'字段已被指示.

这是我写的一段代码.但是,正如您所看到的,还不够:

conn = DriverManager.getConnection(connectionURL, connectionProps);
Statement stmt = conn.createStatement();
stmt.execute("CREATE TABLE WORLDCITIES"
        + " AS SELECT COUNTRY, ACCENTCITY, POPULATION, LATITUDE, LONGITUDE"
        + " FROM CSVREAD('snippet.csv'));
Run Code Online (Sandbox Code Playgroud)

如果我理解正确,CSVREAD使用VARCHAR类型创建字段,但我想要这样的事情:

国家/地区(3),ACCENTCITY VARCHAR(40),人口浮动,纬度浮动,纵向浮动

在此先感谢您的帮助.

java database csv h2

8
推荐指数
1
解决办法
8126
查看次数

如何验证Java中的ClassLoader是否已加载.jar或类

..我有一个应用程序(.war),它有一个插件系统,其中每个可插入插件都是一个带有.jar依赖项的.jar.在webapp中,通过管理Web界面,使用ClassLoader加载插件,该类"加载".jar及其依赖项.但问题是,例如,2个插件A和B可能有一个或多个公共依赖项(commons-io.jar,commons-collection.jar,...)...所以通常我不应该加载更多一次.jar已经被另一个插件加载,或者已经存在于webapp本身 - > WEB-INF/lib /所以,我想知道是否有一种方法可以不加载另一个时间.jar已经存在了通过webapp或其他插件加载如果可能,我该怎么做!

实际上,无论可用的解决方案是什么,我只想避免类加载器问题.

注意:每个插件都是一个.zip文件,其中包含以下体系结构

插件名称/

       - code/

             - A.class

             - B.class

             - ...

       - lib/

            - commons-io.jar

            - log4j.jar

            - ....

       - description.xml

       - version.txt
Run Code Online (Sandbox Code Playgroud)

目录代码中的每个.class文件都由类加载器加载,插件的lib /目录中的每个.jar也被加载.

但通常,我不应该重新加载.jar"commons-io.jar"中存在的类,如果它已经存在的话......

我希望我已经足够清楚了,先谢谢你的关注和帮助.

java plugins web-applications jar classloader

4
推荐指数
1
解决办法
986
查看次数

标签 统计

java ×2

classloader ×1

csv ×1

database ×1

h2 ×1

jar ×1

plugins ×1

web-applications ×1