Java 实现Gbase数据库增删改查功能

具体代码如下

主要: 要记得在官网下载驱动包gbase-connector-java-8.3-bin.jar

package com.advance.JDBC;

import org.apache.log4j.Logger;
import org.apache.storm.command.list;

import java.sql.;
import java.util.
;

/**

  • @Author: mgx

  • @Date: 2019/2/12 16:34

  • @Description:
    */
    public class Connect_GBase {
    private static Logger logger = Logger.getLogger(Connect_GBase.class);

    //三大核心接口
    private static Connection conn = null;
    private static PreparedStatement pstmt = null;
    private static ResultSet rs = null;

    public static Connection connectGBase() {
    //加载MySql的驱动类
    try {
    Class.forName(“com.gbase.jdbc.Driver”);
    } catch (ClassNotFoundException e) {
    logger.error(“找不到驱动程序类 ,加载驱动失败!”);
    e.printStackTrace();
    }
    //URL
    String url = “jdbc:gbase://10.136.1.215:5258/testdb?characterEncoding=utf8”;
    //账号
    String username = “root”;
    //密码
    String password = “gbase8a”;
    try {
    conn = DriverManager.getConnection(url,username,password);
    } catch (SQLException e) {
    logger.error(“数据库连接失败!”);
    e.printStackTrace();
    }
    return conn;
    }

    //关闭数据库连接
    public static void closeConnection(){
    if(rs!=null){
    try {
    rs.close();
    } catch (SQLException e) {
    e.printStackTrace();
    }
    }
    if(pstmt!=null){
    try {
    pstmt.close();
    } catch (SQLException e) {
    e.printStackTrace();
    }
    }
    if(conn!=null){
    try {
    conn.close();
    } catch (SQLException e) {
    e.printStackTrace();
    }
    }
    }

    /**

    • @Author xiaomei

    • @Description 将ResultSet转换成List

    • @Date 2019/2/13 10:31

    • @Param [rs]

    • @return java.util.List
      **/
      public static List resultSetToList(ResultSet rs,String columnName) throws java.sql.SQLException {
      if (rs == null)
      return Collections.EMPTY_LIST;
      ResultSetMetaData md = rs.getMetaData(); //得到结果集(rs)的结构信息,比如字段数、字段名等
      int columnCount = md.getColumnCount(); //返回此 ResultSet 对象中的列数
      List list = new ArrayList();
      // Map rowData;
      // while (rs.next()) {
      //
      // rowData = new HashMap(columnCount);
      // for (int i = 1; i <= columnCount; i++) {
      // rowData.put(md.getColumnName(i), rs.getObject(i));
      // System.out.println(rowData.get(“id”) + “" + rowData.get(“name”) + "” + rowData.get(“age”) );
      // }
      // if(columnName==null) {
      // list.add(rowData);
      // }else {
      // list.add(rowData.get(columnName));
      // }
      // }

      while (rs.next()) {
      System.out.println(
      rs.getString(“id”) + “_” + rs.getString(“name”));
      }

      return list;
      }

    /**

    • @Author xiaomei
    • @Description 查询方法
    • @Date 2019/2/13 10:32
    • @Param [sql]
    • @return java.sql.ResultSet
      **/
      public static ResultSet query(String sql) throws SQLException, ClassNotFoundException {
      conn = connectGBase();
      pstmt = conn.prepareStatement(sql);
      rs = pstmt.executeQuery();
      return rs;
      }

    /**

    • @Author xiaomei
    • @Description 支持insert,delete,update操作
    • 参数按顺序和占位符对应传入
    • demo:
    • update(“update aa set name = ? where id = ?”,new Object[]{“7”,“1”});
      update(“insert into aa (id,name) values (?,?)”,new Object[]{“5”,“6”});
      update(“delete from aa where id = ?”,new Object[]{“5”});
    • @Date 2019/2/13 10:32
    • @Param [sql, values]
    • @return void
      **/
      public static void update(String sql,Object []values) throws SQLException, ClassNotFoundException {
      //获取数据库链接
      conn=connectGBase();
      try {
      //预编译
      pstmt=conn.prepareStatement(sql);
      //获取ParameterMetaData()对象
      ParameterMetaData pmd=pstmt.getParameterMetaData();
      //获取参数个数
      int number=pmd.getParameterCount();
      //循环设置参数值
      for (int i = 1; i <=number; i++) {
      pstmt.setObject(i, values[i-1]);
      }
      pstmt.executeUpdate();
      System.out.println(“执行成功”);
      } catch (SQLException e) {
      e.printStackTrace();
      }
      }

    /**

    • @Author xiaomei

    • @Description 输出查询结果

    • @Date 2019/2/13 10:33

    • @Param [rs]

    • @return void
      **/
      public static void output(ResultSet rs) throws SQLException {
      ResultSetMetaData md = rs.getMetaData(); //得到结果集(rs)的结构信息,比如字段数、字段名等
      int columnCount = md.getColumnCount();
      while(rs.next())
      {
      StringBuffer sb = new StringBuffer();
      for (int i = 1; i <= columnCount; i++) {
      sb.append(rs.getObject(i)+" ");
      }
      logger.debug(sb);
      System.out.println(sb);
      }

      while (rs.next()) {
      System.out.println(rs.getString(“name”));
      }
      }

    public static void main(String[] args) throws SQLException, ClassNotFoundException {
    //update(“update aa set name = ? where id = ?”,new Object[]{“7”,“1”});
    // update("insert into COMPANY (id,name,age , address, salary) " +
    // “values (?,?,?,?,?)”,new Object[]{“2”,“lisi”,“4”,“6”,“5”});
    //update(“delete from aa where id = ?”,new Object[]{“5”});
    ResultSet rs = query("select * from COMPANY ");
    List<Map<String,Object>> result = resultSetToList(rs,“name”);
    output(rs);
    closeConnection();
    }

// 建表语句:
// CREATE TABLE COMPANY(
// ID int ,
// NAME VARCHAR(40) NOT NULL,
// AGE INT NOT NULL,
// ADDRESS CHAR(50),
// SALARY DECIMAL(10,2)
//);

}

Java 实现Gbase数据库增删改查功能相关推荐

  1. Java连接Mysql数据库增删改查实现

    Java连接Mysql数据库增删改查实现 时间比较赶,我这里只实现查询,有时间再添加另外两个 难度 : ⭐⭐⭐(全星5颗星的情况下) 新建一个动态的网站工程, 把jar包全部复制进去,主要要那个mys ...

  2. java之简单的增删改查功能

    目录 前言 一.查询 二.增加 三.删除 四.修改 五.界面展示: 前言 用增删改查写的简单版学生管理系统 运用了JavaScript,El表达式,c标签,mvc模式,三层架构,MySQL. 数据库辅 ...

  3. java连接mysql数据库增删改查_java连接mysql数据库增删改查操作记录

    1. 连接数据库.得到数据库连接变量 注意连接数据库的时候 (1)打开DB Browser 新建一个Database Driver,注意加入Driver JARs的时候加入的包,我的是mysql-co ...

  4. java连接mysql数据库增删改查操作记录

    1. 连接数据库,得到数据库连接变量 [java] view plaincopyprint? //注意,这是连接mysql的方法 //注意,这是连接mysql的方法 注意连接数据库的时候 (1)打开D ...

  5. PHP案例:实现数据库增删改查功能

    文章目录 一.启动Apache与MySQL服务 二.创建数据库与表 1.创建数据库student 2.在数据库里创建student表

  6. mfc连接mysql增删改查_java实现mysql数据库增删改查

    1.连接数据库: import java.sql.Connection; import java.sql.DriverManager; public class DBConnection { stat ...

  7. Java+MyEclipse+Tomcat (六)详解Servlet和DAO数据库增删改查操作

    此篇文章主要讲述DAO.Java Bean和Servlet实现操作数据库,把链接数据库.数据库操作.前端界面显示分模块化实现.其中包括数据的CRUD增删改查操作,并通过一个常用的JSP网站前端模板界面 ...

  8. java ssm框架做增删改查,使用SSM框架组合实现增删改查的功能

    基于ssm框架组合的增删改查功能 ssm框架组合之前已经搭建完成了,下面基于该框架组合实现增删改查的功能,首先创建一个数据库和一张表: CREATE DATABASE `ssmteam` /*!401 ...

  9. java servlet dao_Java+MyEclipse+Tomcat 详解Servlet和DAO数据库增删改查操作(源码)

    [实例简介] 该资源主要参考自己的博客http://blog.csdn.net/eastmount/article/details/45936121 讲诉Java+MyEclipse+Tomcat 详 ...

最新文章

  1. 动态生成数据后绑定事件
  2. c++模板---3(类模板碰到继承问题,类模板类外实现,类模板与友元函数)
  3. 空格分隔输出(信息学奥赛一本通-T1026)
  4. Celery的日志配置及日志按天切分
  5. 硬件开源为什么如此之难?
  6. mysq 正序查询并且0排在最后
  7. 还在到处找Linux内核的学习资料吗?你想要的都在这里
  8. npm与yarn常用命令
  9. AllenNLP—笔记—json
  10. 非谓语动词---不定式作名词
  11. python学习教程12-从文本中获取电话号码2
  12. 发送writely和orkut邀请
  13. win10怎么连接android手机,如何将手机与Win10电脑关联以在电脑上继续任务?
  14. 11月26日:操作系统实验杂记 shmget(创建共享存储区) shmat(连接共享存储区) shmdt(断连共享存储区) shmctl(共享存储区控制)
  15. Java IO流--数据读写(字符/字节流/二进制文件)
  16. PHP快速入门01-初识PHP语言
  17. 密钥生成工具类:RSA2 256位 加解密工具类 RsaUtils
  18. 文件的打开、关闭、读写
  19. 图神经网络GNN详解
  20. 基于微信小程序的智能招聘小程序

热门文章

  1. 论文《基于区块链的物联网节点可信算与隐私保护方法研究》学习报告
  2. 【转】使用DirectUI技术实现QQ界面
  3. ICDM评选:数据挖掘十大经典算法
  4. Win10 软件出现菱形问号乱码
  5. android系统广播有哪些
  6. 2014年华为上机题目
  7. 微型计算机的注意事项,微型计算机
  8. 人类记忆系统之谜,也许就是这么回事儿
  9. 线性代数及其应用(第三版)1.9节习题解答
  10. XILINX FPGA数字信号处理——16、自适应信号处理原理及实现