Fastjson 是一个 Java 库,可以将 Java 对象转换为 JSON 格式,当然它也可以将 JSON 字符串转换为 Java 对象。那fastjson如何保存到oracle数据库?下面来我们就来给大家讲解一下这方面的内容。
1.首先需要两个jar包jxl.jar,ojdbc.jar(注意版本,版本不合适会报版本错误)
2.代码:
import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import jxl.Cell; import jxl.Sheet; import jxl.Workbook; import jxl.read.biff.BiffException; /** * excel数据导入到oracle * @author sh * 2010-05-11 */ public class InsertData { public static void main(String[] args) throws Exception { InsertData in = new InsertData(); in .insert(“F: /myJob/hah.xls”, “information”); } /** * * @param path * 要解析的excel文件路径 * @param dataTable * 要写入到数据库中的表名 * @throws BiffException * @throws IOException */ public void insert(String path, String dataTable) throws BiffException, IOException { File file = new File(path); // 创建新的Excel 工作簿 Workbook rwb = null; rwb = Workbook.getWorkbook(file); // 得到工作簿中的第一个表索引即为excel下的sheet1,sheet2,sheet3… Sheet sheet = rwb.getSheets()[0]; int rsColumns = sheet.getColumns(); // 列数 int rsRows = sheet.getRows(); // 行数 String simNumber = “”; //每个单元格中的数据 DBUtils jdbc = new DBUtils(); String str = “”; //拼接要插入的列 for (int j = 0; j < rscolumns; p = "" { <= "" > Cell cell = sheet.getCell(j, 0); simNumber = cell.getContents(); if (j == rsColumns - 1) { str += simNumber; } else { str += simNumber + “, ”; } } for (int i = 1; i < rsRows; i++) { String sql = “insert into“ + dataTable + “(“+str + “) values(“; //拼接sql System.out.println(str); for (int j = 0; j < rsColumns; j++) { Cell cell = sheet.getCell(j, i); simNumber = cell.getContents(); if (j == rsColumns - 1) { sql += “‘”+simNumber + “‘”; } else { sql += “‘”+simNumber + “‘, ”; } } sql += ”)”; jdbc.executeUpdate(sql); //执行sql } jdbc.closeStmt(); jdbc.closeConnection(); } }
Util类
Java代码
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; /** * Oracle数据库连接 * * @author sh 2010-05-11 */ public class DBUtils { private Connection conn = null; private Statement stmt = null; private ResultSet rs = null; /** Oracle数据库连接 URL */ private final static String DB_URL = “jdbc: oracle: thin: @localhost: 1521: XE”; /** Oracle数据库连接驱动 */ private final static String DB_DRIVER = “oracle.jdbc.driver.OracleDriver”; /** 数据库用户名 */ private final static String DB_USERNAME = “test”; /** 数据库密码 */ private final static String DB_PASSWORD = “test”; /** * 获取数据库连接 * * @return */ public Connection getConnection() { /** 声明Connection连接对象 */ Connection conn = null; try { /** 使用 Class.forName()方法自动创建这个驱动程序的实例且自动调用DriverManager来注册它 */ Class.forName(DB_DRIVER); /** 通过 DriverManager的getConnection()方法获取数据库连接 */ conn = DriverManager .getConnection(DB_URL, DB_USERNAME, DB_PASSWORD); stmt = conn.createStatement(); } catch (Exception ex) { ex.printStackTrace(); } return conn; } /** * 查询数据部分 * * @return ResultSet */ public ResultSet executeQuery(String sqlStr) { if (sqlStr == null || sqlStr.length() == 0) return null; try { this.getConnection(); rs = stmt.executeQuery(sqlStr); return rs; } catch (SQLException ex) { ex.printStackTrace(); return null; } } /** * 更新数据部分 * * @return 更新是否成功 */ public boolean executeUpdate(String sqlStr) { if (sqlStr == null || sqlStr.length() == 0) return false; try { this.getConnection(); stmt.executeUpdate(sqlStr); return true; } catch (SQLException ex) { ex.printStackTrace(); return false; } finally { try { if (stmt != null) { stmt.close(); } } catch (SQLException e) { e.printStackTrace(); } try { if (conn != null) { conn.close(); } } catch (SQLException e) { e.printStackTrace(); } } } public void closeStmt() { try { if (stmt != null) { stmt.close(); } } catch (Exception e) { e.printStackTrace(); } } /** * 关闭数据库连接 * * @param connect */ public void closeConnection() { try { if (conn != null) { /** 判断当前连接连接对象如果没有被关闭就调用关闭方法 */ if (!conn.isClosed()) { conn.close(); } } } catch (Exception ex) { ex.printStackTrace(); } } }
oracle数据库有什么特点?
1、完整的数据管理功能: [1]
1)数据的大量性
2)数据的保存的持久性
3)数据的共享性
4)数据的可靠性
2、完备关系的产品:
1)信息准则---关系型DBMS的所有信息都应在逻辑上用一种方法,即表中的值显式地表示;
2)保证访问的准则
3)视图更新准则---只要形成视图的表中的数据变化了,相应的视图中的数据同时变化
4)数据物理性和逻辑性独立准则
3、分布式处理功能:
ORACLE数据库自第5版起就提供了分布式处理能力,到第7版就有比较完善的分布式数据库功能了,一个ORACLE分布式数据库由oraclerdbms、sql*Net、SQL*CONNECT和其他非ORACLE的关系型产品构成。
4、用ORACLE能轻松的实现数据仓库的操作。
Oracle数据库是一种高效率的、可靠性好的、适应高吞吐量的数据库方案,适用于各类大、中、小微机环境。最后大家如果想要了解更多json相关知识,敬请关注奇Q工具网。
推荐阅读: