基于MYSQL实现郑码查询

任务

打开小小输入法的郑码表观察,如
a 一 再
aa 一下
aaam 万无一失
aaav 可歌可泣
aaax 天下无难事
aacf 百无聊赖
aacm 无可奉告
aadj 无可挽回
aadt 殊死搏斗
aaeu 平型关
aaez 一开始
。。。
基于MYSQL实现郑码查询java程序:使得输入输入aacm,则输出“无可奉告”。而输入一个汉字或汉字词,则输出该字或词的郑码编码。
(参考基于SQLite的命令窗郑码查询基于文本文件的命令窗郑码查询

创建文件

首先,在会配置SQL数据库建立数据表的前提下,我们需要建立一个SQL郑码表文件:
1

建立数据库的操作:

1.连接数据库。

mysql -u root -p  

2.创建数据库。

create database 数据库名;

3.查询数据库。

show databases;

4.选择数据库。

use  数据库名;

5.删除数据库。

drop database  数据库名;

6.创建数据表。

create table table_name
(field1  datatype,field2  datatype,field3  datatype);

7.插入数据。
方式一:

INSERT INTO table_name ( field1, field2,...fieldN )
                       VALUES
                       ( value1, value2,...valueN );

或者:

INSERT INTO table_name VALUES ( value1, value2,...valueN );

8.查询数据表。

select * from 表名;
select field1, field2...from 表名;

9.删除数据表。

DROP TABLE table_name ;

建立的郑码数据表如下:
2
3
4

连接数据库

JAVA程序操作MYSQL数据库的学习参见:
https://blog.csdn.net/qq_42446456/article/details/81175677

操作代码:
package MySQLTest;
import java.sql.Connection;//导入Java.sql包中的Connection类,用于与数据库的连接
import java.sql.DriverManager;//导入Java.sql包中的DriverManager类,管理一组JDBC驱动程序
import java.sql.ResultSet;//导入Java.sql包中的ResultSet类  ,表示数据库的结果,用于查询
import java.sql.Statement;//导入Java.sql包中的Statement类,执行sql语句,并返回生成的结果
import java.sql.SQLException;//导入Java.sql包中的Exception类,执行sql语句,寻找异常。
import java.util.Scanner; //导入Java.sql包中的Scanner类

public class zmb {//定义一个类,类名为zmb
    public static void main(String[] args){//主程序运行
        Connection conn = null;  //声明数据库连接对象
        String driver ="com.mysql.cj.jdbc.Driver";//加载数据库驱动
        String url ="jdbc:MySQL://localhost:3306/table1?&useSSL=false&serverTimezone=UTC";
         //url指向要访问的数据库table1
        String username ="root";//MySQL配置时的用户名
        String password ="965827";//MySQL配置时的密码
        try{
            Class.forName(driver);
            //getConnection()方法,连接MySQL数据库!
            conn=DriverManager.getConnection(url,username,password);
            if(!conn.isClosed())
                System.out.println("数据库连接成功!");
                //创建statement类对象,用来执行SQL语句!
        }
        catch( SQLException | ClassNotFoundException e){
            //数据库驱动类异常处理
            System.out.println("数据库驱动加载失败!");
            e.printStackTrace();
        }
        while(true){
            System.out.println("请输入一个郑码编码:");//控制台输出“请输入一个郑码编码”
            @SuppressWarnings("resource")
            Scanner scan=new Scanner(System.in);//创建Scanner对象,控制台等待输入
            //要执行的SQL语句
            String sql="select * from zmb" ;//将从表中查询到的的所有信息存入sql
            try{
                Statement Statement=conn.createStatement();//得到Statement实例
                //ResultSet类,用来存放获取的结果集!
                ResultSet rs=Statement.executeQuery(sql);;//执行SQL语句返回结果集
                String str=scan.nextLine(); //定义字符型变量str并赋值
                boolean b = false;//判断表中是否含有输入的词
                // 当返回的结果集不为空时,并且还有记录时,循环输出记录                   
                while(rs.next()){ //读一行文本
                    String zm=rs.getString("郑码");//获取郑码字段
                    String ch=rs.getString("中文");//获取中文字段
                    if(str.equalsIgnoreCase(zm)) {//输入郑码编码存在于表记录则执行
                        System.out.println(ch);//输出对应的中文
                        b = true;
                   }
                    if(str.equalsIgnoreCase(ch)) {//输入的词语存在于表记录则执行
                       System.out.println(zm);//输出对应的郑码编码
                       b = true;
                    }  
                    if(str.equals("ByeBye")) {//判断是否输入的为"ByeBye"
                      System.out.println("程序退出!");
                      System.exit(0);//终止当前正在运行的程序
                    }
                }
                  if(!b) {//查不到
                      System.out.println("没有收录该词!");
                      }
                 }
          catch (SQLException e) {
          System.out.println("查询数据时出错!"+e.getMessage());
          }
            finally{
                 System.out.println("-------------------------------");  
            }
       }
   }

}

编程结果

编译程序结果:
5

猜你喜欢

转载自blog.csdn.net/qq_42446456/article/details/81192295