最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
java中实现excel数据与sqlite3数据互转
时间:2022-06-29 03:15:04 编辑:袖梨 来源:一聚教程网
java与Excel的连接用到了jxl.jar开源包,与SQLite3的连接用到了sqlitejdbc-v056.jar这个开源包,两个开源包打包下载:传送门
如果使用的eclipse做开发,解压后按下所示导入两个开源包即可:
对着工程右击>Build Path>Add External Archives,然后选择这两个开源包引入即可。
------------
1,java与Excel的连接:
(jxl.jar开源包的源码,以及使用API下载:传送门 )
java与Excel的连接,只需引入jxl的相关包(见最下方源码),即可实现与Excel文件的连接;
代码如下 | 复制代码 |
|
使用完后,使用wb.close()的方法关闭文件流即可。
------------
2,java与SQLite3的连接:
java与SQLite3的连接,以及写入数据,需要如下的准备工作:
1,通过Class.forName()方法,载入需要连接数据库的类
代码如下 | 复制代码 |
Class cl = Class.forName("org.sqlite.JDBC") ; |
//如果想要了解关于这个方法的意义 2,之后与数据库建立连接,代码如下:
代码如下 | 复制代码 |
//通过JDBC:Sqlite与D:123目录下的AllClasses.db文件(SQLite3的数据库文件)建立连接; Connect conn = DriverManager.getConnection("jdbc:sqlite:d:/123/AllClasses.db"); Statement stm =conn.createStatement(); //下面这句sql语句的意思是:如果数据库中没有"OtherClasses"这张表,则创建之; //加上自加的KC_ID,一列共九个数据; stm.executeUpdate("create table if not exists OtherClasses(" + "KC_ID integer primary key autoincrement," + "KC_NAME vachar(15) ," + "KC_TEACHER vachar(5) ," + "KC_CLASSES vachar(10) ," + "KC_ROOM vachar(6) ," + "KC_ENDTIME vachar(5) ," + "KC_YUANXI vachar(4) ," + "KC_POSITION vachar(3) ," + "KC_MARK vachar(3) );"); /* PreparedStatement 类,通俗来讲,就像文件流的BufferedReader一样,只不过它是用来存放Sql语句的缓冲内容(如有精力,可参考java API), * 1,PreparedStatement prs = conn.prepareStatement("insert into OtherClasses values (?,?,?,?,?,?,?,?,?);"); * 这句话用来预定义你即将插入的一列数据规范,如上那个方法,就是说我准备每次暂存9个待插入的数据(9个问号); * 2,prs 的setString()用来设置Sql语句的内容,一组共九个参数,setString(2,"nihao")就是说,设置本行待插入的第二个数据为“nihao"(从2开始,共9个数据,为什么不是从1开始?因为1是”KC_ID integer primary key autoincrement“,它会根据本行数据添加情况自增,无需赋值); * 3,一组九个数据设定完成后,通过prs.addBatch()方法,将这次的批处理命令添加到prs中去, * 4,通过 conn.setAutoCommit(false); prs.executeBatch(); conn.setAutoCommit(true);这三个方法,便可以将缓存于prs中的一批sql执行命令,真正执行,并将之前一组九个数据,插入到数据库文件中去. */ PreparedStatement prs = conn.prepareStatement("insert into OtherClasses values (?,?,?,?,?,?,?,?,?);"); // 下面这段代码,便可以插入一列数据; // 为什么从2开始?因为第一个数据是自增型计数器,详见上面第2条解释; for( int i = 2; i<9; i++ ) { prs.setString( i, "本次插入" + i ) ; } prs.addBatch(); conn.setAutoCommit(false); prs.executeBatch(); conn.setAutoCommit(true); |
上面一段代码,连续执行三次后,效果如下图
(想要这款图形界面的SQLite3数据库浏览器的朋友,):
相关文章
- 人们熟悉的寄居蟹属于以下哪种分类 神奇海洋11月21日答案 11-21
- 第五人格11.22共研服有什么更新 11月22日共研服更新内容介绍 11-21
- 原神恰斯卡怎么培养 11-21
- 无期迷途四星装束是谁 11-21
- 王者荣耀帝丹高中校服怎么获得 11-21
- 光遇姆明季后续版本怎么玩 11-21