美文网首页
Gauss DB 数据库使用(三) java版hello wor

Gauss DB 数据库使用(三) java版hello wor

作者: Kindey_S | 来源:发表于2020-03-12 15:58 被阅读0次

    创建Spring Boot项目

    • 通过spring.io快速创建,其他默认即可


      image.png

    下载gaussdb 200 jdbc驱动

    • 从FusionInsight Manager下载的安装客户端中获取驱动jar包。


      image.png

      解压下载的客户端,路径如下图


      image.png
      解压后有两个JDBC的驱动jar包:
      •gsjdbc4.jar:与PostgreSQL保持兼容的驱动包,其中类名、类结构与PostgreSQL驱动完全一致,曾经运行于PostgreSQL的应用程序可以直接移植到当前系统使用。

      •gsjdbc200.jar:如果同一JVM进程内需要同时访问PostgreSQL及GaussDB 200请使用此驱动包,它的主类名为“com.huawei.gauss200.jdbc.Driver”(即将“org.postgresql”替换为“com.huawei.gauss200.jdbc”),数据库连接的URL前缀为“jdbc:gaussdb”,其余与gsjdbc4.jar相同。


    导入JDBC驱动

    • 在src/main/resources目录下新建lib文件夹,复制gsjdbc200.jar到目录下。
      [图片上传失败...(image-984bfc-1583999891803)]
      编辑pom.xml文件,加入jar的依赖:
            <dependency>
                <groupId>com.huawei.gauss.jdbc.ZenithDriver</groupId>
                <artifactId>gauss</artifactId>
                <version>0.0.1</version>
                <scope>system</scope>
                <systemPath>${project.basedir}/src/main/resources/lib/gsjdbc200.jar</systemPath>
            </dependency>
    

    demo代码

    Util类:GaussDBUtil

    package com.zh.gaussdb_demo1;
    
    import java.sql.*;
    
    /**
     * gaussdb_demo1
     * 2020/3/12
     * GaussDB连接封装
     *
     * @author kindey.s
     **/
    public class GaussDBUtil {
        /**
         * 创建数据库连接
         *
         * @param username 用户名
         * @param passwd   密码
         * @return java.sql.Connection
         * @author kindey.s
         * @date 2020/3/12 15:45
         */
        public static Connection GetConnection (String username, String passwd) {
    
            String driver = "com.huawei.gauss200.jdbc.Driver";
            String sourceURL = "jdbc:gaussdb://192.168.3.241:25308/db_test";
            Connection conn = null;
            try {
                //加载数据库驱动。
                Class.forName(driver).newInstance();
            } catch (Exception e) {
                e.printStackTrace();
                return null;
            }
            try {
                //创建数据库连接。
                //getConnection(String url, String user, String password)
                conn = DriverManager.getConnection(sourceURL, username, passwd);
                System.out.println("Connection succeed!");
            } catch (Exception e) {
                e.printStackTrace();
                return null;
            }
            return conn;
        }
    
        /**
         * 执行查询SQL语句。
         *
         * @param conn 数据库连接
         * @return void
         * @author kindey.s
         * @date 2020/3/12 15:46
         */
        public static void SelectTest (Connection conn) {
            Statement stmt = null;
            try {
                stmt = conn.createStatement();
                //执行SELECT语句。
                ResultSet rs = stmt.executeQuery("select * from t_test");
                while (rs.next()) {
                    System.out.println("c1:" + rs.getString(1));
                }
                stmt.close();
            } catch (SQLException e) {
                if (stmt != null) {
                    try {
                        stmt.close();
                    } catch (SQLException e1) {
                        e1.printStackTrace();
                    }
                }
                e.printStackTrace();
            }
        }
    
        /**
         * 执行insert语句
         *
         * @param conn  数据库连接
         * @param value 插入值
         * @return boolean 返回执行是否成功。true:成功;false:失败。默认失败。
         * @author kindey.s
         * @date 2020/3/12 15:47
         */
        public static boolean InsertTest (Connection conn, int value) {
            Statement stmt = null;
            boolean success = false;
            try {
                stmt = conn.createStatement();
                //执行INSERT语句。
                success = stmt.execute("insert into t_test values (" + value + ")");
                stmt.close();
            } catch (SQLException e) {
                if (stmt != null) {
                    try {
                        stmt.close();
                    } catch (SQLException e1) {
                        e1.printStackTrace();
                    }
                }
                e.printStackTrace();
            } finally {
                return success;
            }
        }
    }
    
    

    启动类:GaussdbDemo1Application

    package com.zh.gaussdb_demo1;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    import java.sql.Connection;
    import java.sql.SQLException;
    import java.util.Random;
    
    @SpringBootApplication
    public class GaussdbDemo1Application {
    
        public static void main (String[] args) throws SQLException {
            SpringApplication.run(GaussdbDemo1Application.class, args);
    
            String userName = "u_test";
            String passwd = "test123.";
            Connection con = GaussDBUtil.GetConnection(userName, passwd);
            Random r = new Random(1);
            int rows = 0;
            //插入10条数据
            for (int i = 0; i < 10; i++) {
                GaussDBUtil.InsertTest(con, r.nextInt(1000));
                rows++;
            }
            System.out.println("插入" + rows + "条记录");
            //查询插入结果并打印控制台
            GaussDBUtil.SelectTest(con);
            con.close();
        }
    
    }
    
    

    运行结果

    image.png

    相关文章

      网友评论

          本文标题:Gauss DB 数据库使用(三) java版hello wor

          本文链接:https://www.haomeiwen.com/subject/dzppjhtx.html