Java 实现Gbase数据库增删改查功能
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数据库增删改查功能相关推荐
- Java连接Mysql数据库增删改查实现
Java连接Mysql数据库增删改查实现 时间比较赶,我这里只实现查询,有时间再添加另外两个 难度 : ⭐⭐⭐(全星5颗星的情况下) 新建一个动态的网站工程, 把jar包全部复制进去,主要要那个mys ...
- java之简单的增删改查功能
目录 前言 一.查询 二.增加 三.删除 四.修改 五.界面展示: 前言 用增删改查写的简单版学生管理系统 运用了JavaScript,El表达式,c标签,mvc模式,三层架构,MySQL. 数据库辅 ...
- java连接mysql数据库增删改查_java连接mysql数据库增删改查操作记录
1. 连接数据库.得到数据库连接变量 注意连接数据库的时候 (1)打开DB Browser 新建一个Database Driver,注意加入Driver JARs的时候加入的包,我的是mysql-co ...
- java连接mysql数据库增删改查操作记录
1. 连接数据库,得到数据库连接变量 [java] view plaincopyprint? //注意,这是连接mysql的方法 //注意,这是连接mysql的方法 注意连接数据库的时候 (1)打开D ...
- PHP案例:实现数据库增删改查功能
文章目录 一.启动Apache与MySQL服务 二.创建数据库与表 1.创建数据库student 2.在数据库里创建student表
- mfc连接mysql增删改查_java实现mysql数据库增删改查
1.连接数据库: import java.sql.Connection; import java.sql.DriverManager; public class DBConnection { stat ...
- Java+MyEclipse+Tomcat (六)详解Servlet和DAO数据库增删改查操作
此篇文章主要讲述DAO.Java Bean和Servlet实现操作数据库,把链接数据库.数据库操作.前端界面显示分模块化实现.其中包括数据的CRUD增删改查操作,并通过一个常用的JSP网站前端模板界面 ...
- java ssm框架做增删改查,使用SSM框架组合实现增删改查的功能
基于ssm框架组合的增删改查功能 ssm框架组合之前已经搭建完成了,下面基于该框架组合实现增删改查的功能,首先创建一个数据库和一张表: CREATE DATABASE `ssmteam` /*!401 ...
- java servlet dao_Java+MyEclipse+Tomcat 详解Servlet和DAO数据库增删改查操作(源码)
[实例简介] 该资源主要参考自己的博客http://blog.csdn.net/eastmount/article/details/45936121 讲诉Java+MyEclipse+Tomcat 详 ...
最新文章
- 动态生成数据后绑定事件
- c++模板---3(类模板碰到继承问题,类模板类外实现,类模板与友元函数)
- 空格分隔输出(信息学奥赛一本通-T1026)
- Celery的日志配置及日志按天切分
- 硬件开源为什么如此之难?
- mysq 正序查询并且0排在最后
- 还在到处找Linux内核的学习资料吗?你想要的都在这里
- npm与yarn常用命令
- AllenNLP—笔记—json
- 非谓语动词---不定式作名词
- python学习教程12-从文本中获取电话号码2
- 发送writely和orkut邀请
- win10怎么连接android手机,如何将手机与Win10电脑关联以在电脑上继续任务?
- 11月26日:操作系统实验杂记 shmget(创建共享存储区) shmat(连接共享存储区) shmdt(断连共享存储区) shmctl(共享存储区控制)
- Java IO流--数据读写(字符/字节流/二进制文件)
- PHP快速入门01-初识PHP语言
- 密钥生成工具类:RSA2 256位 加解密工具类 RsaUtils
- 文件的打开、关闭、读写
- 图神经网络GNN详解
- 基于微信小程序的智能招聘小程序