《Java》《MySQL》Java通过访问MySQL数据库进行郑码查询

6 篇文章 0 订阅
一、在MySQL数据库中创建“zmdb”表

    添加MySQL-JBDC以及连接MySQL数据库的具体方法可在笔者博客中查看。

1、利用SQL语句创建表格:

CREATE TABLE `zmbd`(
`郑码` VARCHAR(200) NOT NULL auto_increment,
`汉字` VARCHAR(200) DEFAULT NULL,
PRIMARY KEY(`郑码`)
)

2、插入郑码表:

INSERT INTO `mysql`.`zmdb`(`郑码`, `汉字`) VALUES ('<a>', '<一 再>');
INSERT INTO `mysql`.`zmdb`(`郑码`, `汉字`) VALUES ('<aa>', '<一下>');
INSERT INTO `mysql`.`zmdb`(`郑码`, `汉字`) VALUES ('<aaam>', '<万无一失>');
INSERT INTO `mysql`.`zmdb`(`郑码`, `汉字`) VALUES ('<aaav>', '<可歌可泣>');
INSERT INTO `mysql`.`zmdb`(`郑码`, `汉字`) VALUES ('<aaax>', '<天下无难事>');
INSERT INTO `mysql`.`zmdb`(`郑码`, `汉字`) VALUES ('<aacf>', '<百无聊赖>');
INSERT INTO `mysql`.`zmdb`(`郑码`, `汉字`) VALUES ('<aacm>', '<无可奉告>');
INSERT INTO `mysql`.`zmdb`(`郑码`, `汉字`) VALUES ('<aadj>', '<无可挽回>');
INSERT INTO `mysql`.`zmdb`(`郑码`, `汉字`) VALUES ('<aadt>', '<殊死搏斗>');
INSERT INTO `mysql`.`zmdb`(`郑码`, `汉字`) VALUES ('<aaeu>', '<平型关>');
INSERT INTO `mysql`.`zmdb`(`郑码`, `汉字`) VALUES ('<aaez>', '<一开始>');
INSERT INTO `mysql`.`zmdb`(`郑码`, `汉字`) VALUES ('<b>', '<地 却>');

    运行结果:
图一

二、郑码查询

    郑码查询程序:

package mysql;

import java.sql.*;       //导入java.sql包         
import java.util.Scanner;

public class Select {
	static Connection con;     //声明Connection对象
	static Statement sql;      //声明Statement对象
	static ResultSet res;      //声明ResultSet对象
	public Connection getConnection(){    //建立返回值为Connection的方法
		try {                             //加载数据库驱动
			Class.forName("com.mysql.jdbc.Driver");
			System.out.println("数据库驱动加载成功");
		}catch(ClassNotFoundException e){
			e.printStackTrace();
		}
		try {                 //通过访问数据库的URL获取数据库连接对象
			con=DriverManager.getConnection("jdbc:mysql://localhost:3306/mysql");
			System.out.println("数据库连接成功");
			System.out.print('\n');
		}catch(SQLException e) {
			e.printStackTrace();
		}
		return con;           //按方法要求放回一个Connection对象
	}

	public static void main(String[] args){
		Scanner scan = new Scanner(System.in);
		Select c = new Select();       //创建本类对象
		con =c.getConnection();              //与数据库建立连接
		while(true) {
			try {
				sql = con.createStatement();     //实例化Statement对象
				res = sql.executeQuery("select * from zmdb");
		            String str = scan.nextLine();     //定义字符型变量str并赋值
		            boolean flag = false;                //定义布尔型变量flag  
		            while(res.next()) {      //读一行文本并赋值给word
		            	String en = res.getString("郑码");      //获取english字段值
		            	String ch = res.getString("汉字");      //获取chinese字段值\
		                String english = en.substring(en.indexOf("<")+1,en.indexOf(">"));  //截取字母
		                String chinese = ch.substring(ch.lastIndexOf("<")+1,ch.lastIndexOf(">"));  //截取汉字
		                if(str.equals(english)) {      //将输入字符与截取字母作比较
		                    System.out.println(chinese);
		                    flag = true;                //能查找到对应便将flag置1
		            	}
		                if(str.equals(chinese)) {      //将输入字符与截取字母作比较
		                    System.out.println(english);
		                    flag = true;                //能查找到对应便将flag置1
		            	}
		            }
		            if(str.equals("ByeBye")) {    //输入ByeBye退出程序
		                System.exit(0);
		            }
		            if(!(flag)) {                  //查找不到对应的词    
		                System.out.println("查不到该词");    
		            }
			 }catch(SQLException e) {
					e.printStackTrace();
			 }
	}
	}
}

    运行结果:
图三

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值