基于MYSQL实现郑码查询

7 篇文章 0 订阅
3 篇文章 0 订阅

任务

打开小小输入法的郑码表观察,如
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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值