`

java通过jdbc读取oracle数据库数据和插入数据

 
阅读更多

         最近因工作需要,需要做数据同步。java通过jdbc读取表中的数据虽然不复杂,但是在处理时间timestamp类型时获取的是对象,暂时未处理,先将直接读取表中的数据读取出来

//用于连接数据库(oracle 其他数据库改一下驱动即可)
public static Connection getOracleConn(String urlName, String userName, String passwordName) {
		Connection conn = null;
		try {
			Class.forName("oracle.jdbc.driver.OracleDriver");// 加载Oracle驱动程序
			String url = PropertiesUtil.getValue(urlName);
			String username = PropertiesUtil.getValue(userName);
			String password = PropertiesUtil.getValue(passwordName);
			conn = DriverManager.getConnection(url, username, password);// 获取连接
		} catch (Exception e) {
			e.printStackTrace();
		}
		return conn;
	}

/**
	 * 根据sql查询结果
	 * @param conn
	 * @param sql sql
	 * @return
	 */
	public static List<Map<String, Object>> getResultMap(Connection conn, String sql) {
		List<Map<String, Object>> listMap = new ArrayList<Map<String,Object>>();
		Map<String, Object> resultMap;
		try {
			Statement ps = conn.createStatement();
			ResultSet rs = ps.executeQuery(sql);
			while(rs.next()) {
				ResultSetMetaData metaData = rs.getMetaData();
				resultMap = new HashMap<String, Object>();
				for(int i=1;i<=metaData.getColumnCount();i++) {
					resultMap.put(metaData.getColumnName(i), rs.getObject(i));

				}
				listMap.add(resultMap);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return listMap;
	}

/**
	 * 插入单条数据
	 * @param conn
	 * @param sql
	 * @return
	 */
	public static boolean insert(Connection conn, String sql) {
		PreparedStatement ps = null;
		try {
			ps = conn.prepareStatement(sql);
			return ps.executeUpdate() > 0 ? true : false;
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			try {
				if(ps != null) {
					ps.close();
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		return false;
	}

public static void main(String[] args) {
		String id = UUID.randomUUID().toString();
		String sql = "insert into t_user(id, username, password, sex, job, age, addr, company, mail, tel, birth) "
				+ "values('" + id + "','test', 'test', '男', 'IT', 22, 'wuhan', 'custom', 'test.com', '1234', to_date('2012-12-01 13:23:22', 'yyyy-MM-dd HH24:mi:ss'))";
		System.out.println(sql);
		Connection oracleConn = getOracleConn("url", "username", "password");
		insert(oracleConn, sql);
		try {
			oracleConn.commit();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		
	}

 此代码在查询的时候,对于时间戳timestatmp类型的数据读取时是对象类型的,暂时不知道怎么处理。

分享到:
评论

相关推荐

    StudentInfoManage2.rar

    3. **数据库连接**:Java通过JDBC(Java Database Connectivity)技术可以连接各种数据库系统(如MySQL、Oracle),进行数据的读取、更新、插入和删除等操作。 4. **配置文件管理**:使用Java的Properties类可以...

    jdbc基础和参考

    Oracle数据库进行连接的时候,使用的驱动类: 1.oracle.jdbc.driver.OracleDriver 2.oracle.jdbc.OracleDriver 2.建立连接 连接方式: 1.DriverManager(中的getConnection其实也是调用的Driver.connect方法) ...

    基于Java Swing + MySQL + JDBC 的图书管理系统.zip

    数据分析与报表:与数据仓库技术结合,支持OLAP(在线分析处理)和数据可视化。 移动应用与物联网(IoT):作为数据存储层,支撑大量设备的数据采集、存储和查询需求。 嵌入式系统:在资源有限的环境中,作为轻量...

    一项基于Java+Mysql+JDBC的银行中间业务系统项目.zip

    它完全支持结构化查询语言(SQL),允许用户进行数据查询、插入、更新、删除、创建和管理数据库结构等操作。SQL标准的广泛支持使得MySQL易于学习,且与其他关系型数据库系统有良好的互操作性。 存储引擎 MySQL支持...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    有近20年使用Oracle技术产品以及Oracle数据库管理员/Oracle数据库应用管理员的经验,是真正应用集群、性能调优以及数据库内部属性方面的专家。同时是一位演讲家及Oracle ACE。  JARED STILL 从1994年就开始使用...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    介绍了应用Java进行桌面程序开发各个方面的知识和技巧,主要包括Java语法与面向对象技术、Java高级应用、窗体与控件应用、文件操作典型应用和数据库应用。全书分5篇24章,共计603个实例和603个经验技巧。每个实例都...

    支持多数据库的ORM框架ef-orm.zip

    最大限度利用编译器减少编码错误的可能性 API设计和元数据模型(meta-model)的使用,使得常规的数据库查询都可以直接通过Criteria API来完成,无需使用任何JPQL/HQL/SQL。可以让避免用户犯一些语法、拼写等错误。...

    JAVA面试题最全集

    9.Java中访问数据库的步骤,Statement和PreparedStatement之间的区别。 10.找出下列代码可能存在的错误,并说明原因: 二、JSP&Servlet技术 1.描述JSP和Servlet的区别、共同点、各自应用的范围 2.在Web开发中...

    java 面试题 总结

    封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。 4. 多态性: 多...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

     7.SQL Server提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。  SQL Server 2000与以前版本相比较,又具有以下新特性 :  1.支持XML(Extensive Markup Language,扩展标记语言)  2.强大的...

    超级有影响力霸气的Java面试题大全文档

     封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。 4. 多态性: ...

    springmybatis

    MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录. orm工具的基本思想 无论是用过的hibernate,mybatis,你都可以法相他们有一个...

    Java学习笔记-个人整理的

    {13.3}连接Oracle数据库及操作}{192}{section.13.3} {13.4}批处理模式}{195}{section.13.4} {13.5}分页查询}{196}{section.13.5} {13.5.1}MySQL}{198}{subsection.13.5.1} {13.6}连接池}{199}{section.13.6} {...

    好用的代码生成源码

    基于数据库,内建好数据库的model,并支持多种数据库(mysql,sql server,oracle测试通过) 半手工方式,生成的代码放在某个目录,再手工拷贝回来工作区 易于做二次开发,整个生成器本身就是java源代码,源代码核心十分精简,...

    Spring中文帮助文档

    11.7. 参数和数据处理的基本原则 11.7.1. 为参数设置SQL类型信息 11.7.2. 处理BLOB 和 CLOB对象 11.7.3. 在IN语句中传入一组参数值 11.7.4. 处理复杂类型的存储过程调用 12. 使用ORM工具进行数据访问 12.1. ...

    Spring API

    11.7. 参数和数据处理的基本原则 11.7.1. 为参数设置SQL类型信息 11.7.2. 处理BLOB 和 CLOB对象 11.7.3. 在IN语句中传入一组参数值 11.7.4. 处理复杂类型的存储过程调用 12. 使用ORM工具进行数据访问 12.1. ...

Global site tag (gtag.js) - Google Analytics