Java 实现Gbase数据库增删改查功能2
生活随笔
收集整理的這篇文章主要介紹了
Java 实现Gbase数据库增删改查功能2
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Java 實(shí)現(xiàn)Gbase數(shù)據(jù)庫(kù)增刪改查功能2
增加了格式化,便于查看
package com.advance.JDBC;import org.apache.log4j.Logger; import org.apache.storm.command.list;import java.sql.*; import java.util.*;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的驅(qū)動(dòng)類try {Class.forName("com.gbase.jdbc.Driver");} catch (ClassNotFoundException e) {logger.error("找不到驅(qū)動(dòng)程序類 ,加載驅(qū)動(dòng)失敗!");e.printStackTrace();}//URLString url = "jdbc:gbase://XXX.XXX.XXX.XXX:5258/testdb?characterEncoding=utf8";//賬號(hào)String username = "root";//密碼String password = "gbase8a";try {conn = DriverManager.getConnection(url,username,password);} catch (SQLException e) {logger.error("數(shù)據(jù)庫(kù)連接失敗!");e.printStackTrace();}return conn;}//關(guān)閉數(shù)據(jù)庫(kù)連接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轉(zhuǎn)換成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(); //得到結(jié)果集(rs)的結(jié)構(gòu)信息,比如字段數(shù)、字段名等int columnCount = md.getColumnCount(); //返回此 ResultSet 對(duì)象中的列數(shù)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操作* 參數(shù)按順序和占位符對(duì)應(yīng)傳入* 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 {//獲取數(shù)據(jù)庫(kù)鏈接conn=connectGBase();try {//預(yù)編譯pstmt=conn.prepareStatement(sql);//獲取ParameterMetaData()對(duì)象ParameterMetaData pmd=pstmt.getParameterMetaData();//獲取參數(shù)個(gè)數(shù)int number=pmd.getParameterCount();//循環(huán)設(shè)置參數(shù)值for (int i = 1; i <=number; i++) {pstmt.setObject(i, values[i-1]);}pstmt.executeUpdate();System.out.println("執(zhí)行成功");} catch (SQLException e) {e.printStackTrace();}}/*** @Author xiaomei* @Description 輸出查詢結(jié)果* @Date 2019/2/13 10:33* @Param [rs]* @return void**/public static void output(ResultSet rs) throws SQLException {ResultSetMetaData md = rs.getMetaData(); //得到結(jié)果集(rs)的結(jié)構(gòu)信息,比如字段數(shù)、字段名等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) //);}總結(jié)
以上是生活随笔為你收集整理的Java 实现Gbase数据库增删改查功能2的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 烟袋斜街-后海,印象已模糊
- 下一篇: java.lang.String can