Hana JDBC 驱动

安装 SAP HANA Client 后,安装目录的 ngdbc.jar 就是 JDBC 数据库驱动。主要注意 url 的写法和 Driver 的名称 :

Driver: com.sap.db.jdbc.Driver

url: jdbc:sap://ip_addr:30015

端口:3 + instance number + 15

代码示例

因为和其他数据库并没有区别,这里直接贴上代码。

实体类

package stone.hanatest;

public class EmployeeEntity {

public String EmpId;

public String Gender;

public int Age;

public String EMail;

public String PhoneNr;

public String Education;

public String MaritalStat;

public int NrOfChildren;

}

CRUD 代码

package stone.hanatest;

import java.sql.*;

public class HanaCRUD {

private static final String DRIVER = "com.sap.db.jdbc.Driver";

private static final String URL = "jdbc:sap://192.168.2.100:30015?reconnect=true";

private String user = "STONE";

private String pwd = "hanapwd";

public Connection getConnection(String userid, String pwd)

throws ClassNotFoundException, SQLException{

Class.forName(DRIVER);

return DriverManager.getConnection(URL, userid, pwd);

}

public void release(Connection conn, Statement stmt) throws SQLException{

if (stmt != null){

stmt.close();

}

if (conn != null){

conn.close();

}

}

public void printEmployees() throws ClassNotFoundException, SQLException{

Connection conn = this.getConnection(user, pwd);

String sql = "SELECT * FROM STONE.EMP_MASTER";

PreparedStatement pStmt = conn.prepareStatement(sql);

ResultSet rst = pStmt.executeQuery();

while(rst.next()){

System.out.print(rst.getString("EMP_ID") + "|");

System.out.print(rst.getString("GENDER") + "|");

System.out.print(rst.getString("EMAIL"));

// new line

System.out.println();

}

this.release(conn, pStmt);

}

public int insertEmployee(EmployeeEntity emp)

throws ClassNotFoundException, SQLException{

Connection conn = this.getConnection(user, pwd);

String sql = "INSERT INTO STONE.EMP_MASTER VALUES (?,?,?,?,?,?,?,?)";

PreparedStatement pStmt = conn.prepareStatement(sql);

pStmt.setString(1, emp.EmpId); // starts from 1 instead of 0

pStmt.setString(2, emp.Gender);

pStmt.setInt(3, emp.Age);

pStmt.setString(4, emp.EMail);

pStmt.setString(5, emp.PhoneNr);

pStmt.setString(6, emp.Education);

pStmt.setString(7, emp.MaritalStat);

pStmt.setInt(8, emp.NrOfChildren);

int count = pStmt.executeUpdate();

this.release(conn, pStmt);

return count;

}

public int deleteEmployee(String empId)

throws ClassNotFoundException, SQLException{

Connection conn = this.getConnection(user, pwd);

String sql = "DELETE FROM STONE.EMP_MASTER WHERE EMP_ID=? ";

PreparedStatement pStmt = conn.prepareStatement(sql);

pStmt.setString(1, empId);

int count = pStmt.executeUpdate();

this.release(conn, pStmt);

return count;

}

}

java获取hana接口数据,SAP Hana 数据库编程接口 - JDBC相关推荐

  1. 【HANA系列】SAP HANA SQL获取当前日期最后一天

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA SQL获取当前 ...

  2. java获取用户的所在省份、城市的接口

    java获取用户的所在省份.城市的接口代码分享 解决方法: 1.以下是调用第三方接口获取用户地理位置信息的代码: private static void getlocation() { URL url ...

  3. 提供源码:java获取节假日、工作日,存入数据库,查找指定日期前一天,后一天。

    提供源码:java获取节假日.工作日,存入数据库,查找指定日期前一天,后一天. 码云地址: https://gitee.com/guyuanman/holiday 业务场景: 好多公司的业务在处理的时 ...

  4. 【HANA系列】SAP HANA XS使用JavaScript编程详解

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA XS使用Jav ...

  5. 【HANA系列】SAP HANA 2.0简介

    公众号: SAP Technical 本文作者: matinal 原文出处: http://www.cnblogs.com/SAPmatinal/ 原文链接: [HANA系列]SAP HANA 2.0 ...

  6. 【HANA系列】SAP HANA XS创建XSJOB后台执行

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA XS创建XSJ ...

  7. 【HANA系列】SAP HANA XS使用Odata标志全解析

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA XS使用Oda ...

  8. 【HANA系列】SAP HANA XS Administration Tool登录参数设置

    公众号: SAP Technical 本文作者: matinal 原文出处: http://www.cnblogs.com/SAPmatinal/ 原文链接: [HANA系列]SAP HANA XS ...

  9. java基础类库——java数据库编程,JDBC连接(原生数据库连接)(十)

    java数据库编程,JDBC连接(原生数据库连接) JDBC严格来讲不属于一门技术,它属于一种服务.所有的操作流程都是固定的.JDBC是java提供的数据库操作的一个标准(它就是一组相关的标准接口), ...

最新文章

  1. oracle11g 查看磁盘,oracle11g 磁盘
  2. js立即执行函数: (function ( ){...})( ) 与 (function ( ){...}( )) 有区别?
  3. Navigation Drawer介绍
  4. idea中如何将一个普通项目转换为maven项目
  5. c# 定位内存快速增长_改善C#程序,提高程序运行效率的50种方法
  6. java callback 多线程_JAVA Callback效率测试
  7. 万圣节海报素材PSD分层模板
  8. Python Package 之 Faker(随机姓名、电话)
  9. 政策利好市场需求双加持,粉笔科技双轨并进强势突围
  10. HeartBeat简单介绍和基本作用:
  11. 抽签抽奖小程序小工具(jquery+html)只需浏览器运行xlsx.core.min.js
  12. Coder往事之: 一些炫酷的特效 for web 前端 (一)
  13. 【Linux操作系统】--攥写一个简易的shell工具
  14. 怎样增加图片的大小,不是尺寸哦!
  15. HDU - 6578 Blank DP + 滚动数组
  16. Unity Rigidbody.AddForce 的 ForceMode
  17. Git和SVN的优缺点/比较/区别
  18. 如何使用MATLAB绘制实时温度图
  19. mac版太空地球3k动态壁纸安装方法
  20. 京东云开放“技术百宝箱”,零售商家说今年618就靠它了!

热门文章

  1. Revit:不过期启动“TR天正建筑 V5.0 2020”方法
  2. vue项目引入彩色iconfont图标
  3. 成三棋、九子棋、十二子棋
  4. 搜索引擎蜘蛛机器人User-Agent特征收集
  5. sweet home3d_Sweet Home 3D:一个开源工具,可帮助您决定梦想中的家
  6. openssl安全漏洞解决方案
  7. Hindawi旗下某杂志的投稿状态记录 一波三折
  8. 《大话设计模式》总结 (更新ing)
  9. 人在国外能买阿里云服务器吗?
  10. 用starUML画的软工课设:外卖点餐管理系统