使用MySQL实例进行应用开发

切换到 sdbadmin 用户

部署 SequoiaDB 巨杉数据库和 SequoiaSQL-MySQL 实例的操作系统用户为 sdbadmin 。

su - sdbadmin

用户 sdbadmin 的密码为 sdbadmin

查看巨杉数据库版本
查看 SequoiaDB 巨杉数据库引擎版本:

sequoiadb --version

查看服务状态

查看 SequoiaDB 巨杉数据库引擎节点列表:sdblist

操作截图:

图片描述

Note:

如果显示的节点数量与预期不符,请稍等初始化完成并重试该步骤。
C: 编目节点,S:协调节点,D:数据节点

查看 MySQL 实例是否已经启动
/opt/sequoiasql/mysql/bin/sdb_sql_ctl status

操作截图:

图片描述

Note:

如果 PID 显示为空,请稍等初始化完成并重试该步骤

使用 MySQL shell 进行操作

1)登录 MySQL shell;

/opt/sequoiasql/mysql/bin/mysql -h 127.0.0.1 -P 3306 -u root
copy
2)查看 MySQL 存储引擎,确认默认存储引擎为 SequoiaDB;

SHOW ENGINES;

3)创建数据库;

CREATE DATABASE company;
USE company;

4)创建包含自增主键字段的 employee 表;

CREATE TABLE employee
(
empno INT AUTO_INCREMENT PRIMARY KEY,
ename VARCHAR(128),
age INT
);

基本数据操作

SequoiaDB 巨杉数据库的 MySQL 实例支持完整的 CRUD 数据基本操作,本小节仅写入部分测试数据。

1)写入测试数据;

INSERT INTO employee VALUES (10001, 'Georgi', 48);
INSERT INTO employee VALUES (10002, 'Bezalel', 21);
INSERT INTO employee VALUES (10003, 'Parto', 33);
INSERT INTO employee VALUES (10004, 'Chirstian', 40);
INSERT INTO employee VALUES (10005, 'Kyoichi', 23);
INSERT INTO employee VALUES (10006, 'Anneke', 19);
copy
2)退出 MySQL Shell;\q

Java 语言操作 MySQL 实例中的数据

本节内容主要用来演示 Java 语言操作 SequoiaSQL-MySQL 实例中的数据,为相关开发人员提供参考。源码已经放置在 /home/sdbadmin/source 目录下。

1)进入源码放置目录;

cd /home/sdbadmin/source/mysql
copy
2)查看 java 文件,一共5个文件;

ls -trl

MySQLConnection.java 连接数据库类
Insert.java 写入数据类
Select.java 查询数据类
Update.java 更新数据类
Delete.java 删除数据类
3)对 java 文件进行编译;
javac -d . *.java

写入数据

本小节介绍如何使用 MySQL 的 JAVA 驱动连接 SequoiaSQL-MySQL 实例并写入数据。

1)运行 Insert 类的代码;

java -cp .:../mysql-connector-java-5.1.48.jar
com.sequoiadb.mysql.Insert

2)Insert 类代码如下:

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class Insert {
    private static String url = "jdbc:mysql://127.0.0.1:3306/company?useUnicode=true&characterEncoding=utf-8&useSSL=false";
    private static String username = "root";
    private static String password = "";
    public static void main(String[] args) throws SQLException {
        insert();
    }

    public static void insert() throws SQLException {
        MySQLConnection mysqlConnection = new MySQLConnection(url, username, password);

        Connection connection = mysqlConnection.getConnection();
        String sql = "INSERT INTO employee VALUES";
        PreparedStatement psmt = connection.prepareStatement("");
        StringBuffer sb = new StringBuffer();
        sb.append("(").append(20001).append(",").append("'Quincy'").append(",").append(30).append("),");
        sb.append("(").append(20002).append(",").append("'Newton'").append(",").append(31).append("),");
        sb.append("(").append(20003).append(",").append("'Dan'").append(",").append(32).append("),");

        sb.deleteCharAt(sb.length() - 1);
        sql = sql + sb.toString();
        System.out.println(sql);
        psmt.addBatch(sql);
        psmt.executeBatch();
        connection.close();
    }
}

查询数据

本小节介绍如何使用 MySQL 的 JAVA 驱动连接 SequoiaSQL-MySQL 实例并查询数据。

1)运行 Select 类的代码;

java -cp .:../mysql-connector-java-5.1.48.jar com.sequoiadb.mysql.Select
copy
2)Select 类代码如下:

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class Select {
    private static String url = "jdbc:mysql://127.0.0.1:3306/company?useUnicode=true&characterEncoding=utf-8&useSSL=false";
    private static String username = "root";
    private static String password = "";

    public static void main(String[] args) throws SQLException {
        select();
    }

    public static void select() throws SQLException {
        MySQLConnection mysqlConnection = new MySQLConnection(url, username, password);

        Connection connection = mysqlConnection.getConnection();
        String sql = "select * from employee";
        PreparedStatement psmt = connection.prepareStatement(sql);
        ResultSet rs = psmt.executeQuery();
        System.out.println("----------------------------------------------------------------------");
        System.out.println("empno  \t ename \t age ");
        System.out.println("----------------------------------------------------------------------");
        while(rs.next()){
            Integer empno = rs.getInt("empno");
            String ename = rs.getString("ename");
            String age = rs.getString("age");

            System.out.println(empno + "\t" + ename + "\t" + age );
        }
        connection.close();
    }
}

更新数据

本小节介绍如何使用 MySQL 的 JAVA 驱动连接 SequoiaSQL-MySQL 实例并更新数据。

1)运行 Update 类代码;

java -cp .:../mysql-connector-java-5.1.48.jar com.sequoiadb.mysql.Update

2)查询确认10001雇员的年龄已经被更改为 49;

java -cp .:../mysql-connector-java-5.1.48.jar
com.sequoiadb.mysql.Select

3)Update 类代码如下:

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class Update {
    private static String url = "jdbc:mysql://127.0.0.1:3306/company?useUnicode=true&characterEncoding=utf-8&useSSL=false";
    private static String username = "root";
    private static String password = "";

    public static void main(String[] args) throws SQLException {
        update();
    }

    public static void update() throws SQLException {
        MySQLConnection mysqlConnection = new MySQLConnection(url, username, password);

        Connection connection = mysqlConnection.getConnection();
        String sql = "update employee set age = ? where empno = ?";
        PreparedStatement psmt = connection.prepareStatement(sql);
        psmt.setInt(1, 49);
        psmt.setInt(2, 10001);
        psmt.execute();

        connection.close();
    }
}

删除数据

本小节介绍如何使用 MySQL 的 JAVA 驱动连接 SequoiaSQL-MySQL 实例并删除数据。

1)运行 Delete 类的代码;

java -cp .:../mysql-connector-java-5.1.48.jar com.sequoiadb.mysql.Delete

2)查询确认 empno 为 10006 的雇员信息已经被删除;

java -cp .:../mysql-connector-java-5.1.48.jar com.sequoiadb.mysql.Select

3)Delete 类代码如下:

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class Delete {
    private static String url = "jdbc:mysql://127.0.0.1:3306/company?useUnicode=true&characterEncoding=utf-8&useSSL=false";
    private static String username = "root";
    private static String password = "";

    public static void main(String[] args) throws SQLException {
        delete();
    }

    public static void delete() throws SQLException {
        MySQLConnection mysqlConnection = new MySQLConnection(url, username, password);

        Connection connection = mysqlConnection.getConnection();
        String sql = "delete from employee where empno = ?";
        PreparedStatement psmt = connection.prepareStatement(sql);
        psmt.setInt(1, 10006);
        psmt.execute();
        connection.close();
    }
}

总结

SequoiaSQL-MySQL 实例完全兼容 MySQL 语法,使用 MySQL 的驱动即可完成对 MySQL 实例的数据操作。应用从原生 MySQL 切换到 SequoiaDB 巨杉数据库可以做到平滑迁移,无需修改代码。

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-15 17:17
听说过付费实习,没想到这么贵啊我去,要不我给你个腰子吧
哈哈哈,你是老六:这种公司一定要注意啊,不要随便签合同,只要签了后面钱可能回不来,而且你通过法律途径也弄不回
点赞 评论 收藏
分享
昨天 18:44
已编辑
中山职业技术学院 Java
投递文远知行等公司7个岗位
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-11 13:34
offe从四面八方来:我真的没时间陪你闹了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务