《Java程序设计》第二次作业:MySQL数据库及Java操作MySQL数据库 之二

<div style="font-family: punctuation, 微软雅黑, Tohoma; margin: 0px; padding: 0px; color: rgb(68, 68, 68);"><span style="font-family: 微软雅黑; font-size: 16px; font-weight: bold; line-height: 22.3999996185303px;">【目的】</span></div><div style="font-family: punctuation, 微软雅黑, Tohoma; margin: 0px; padding: 0px; color: rgb(68, 68, 68);"><span style="margin: 0px; padding: 0px; font-family: 微软雅黑; font-size: 16px;">1.掌握MySQL数据库的使用方法。</span></div><div style="font-family: punctuation, 微软雅黑, Tohoma; margin: 0px; padding: 0px; color: rgb(68, 68, 68);"><span style="margin: 0px; padding: 0px; font-family: 微软雅黑; font-size: 16px;">2.掌握Java操作MySQL数据库的方法。</span></div><div style="font-family: punctuation, 微软雅黑, Tohoma; margin: 0px; padding: 0px; color: rgb(68, 68, 68);">
</div><div style="font-family: 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; margin: 0px; padding: 0px; color: rgb(68, 68, 68); font-size: 14px; line-height: 22.3999996185303px;"><span style="margin: 0px; padding: 0px; font-size: 16px;  font-family: 微软雅黑;"><strong>【目标】</strong></span></div><div style="font-family: punctuation, 微软雅黑, Tohoma; margin: 0px; padding: 0px; color: rgb(68, 68, 68);"><div style="margin: 0px; padding: 0px;"><span style="margin: 0px; padding: 0px; font-family: 微软雅黑; font-size: 16px;">目标1:MySQL数据库的基本操作,包括MySQL的安装、创建数据库、数据表、增删改查操作(80分)。</span></div><div style="margin: 0px; padding: 0px;"><span style="margin: 0px; padding: 0px; font-family: 微软雅黑; font-size: 16px;">目标2:Java操作MySQL数据库,包括基本步骤和具体的编码实现(90分)。</span></div></div><div style="font-family: 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; margin: 0px; padding: 0px; color: rgb(68, 68, 68); font-size: 14px; line-height: 22.3999996185303px;">
</div><div style="font-family: 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; margin: 0px; padding: 0px; color: rgb(68, 68, 68); font-size: 14px; line-height: 22.3999996185303px;"><span style="margin: 0px; padding: 0px; font-size: 16px;  font-family: 微软雅黑;"><strong>【方法】</strong></span></div><div style="font-family: punctuation, 微软雅黑, Tohoma; margin: 0px; padding: 0px; color: rgb(68, 68, 68);"><span style="margin: 0px; padding: 0px; font-family: 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; font-size: 16px;"><span style="margin: 0px; padding: 0px; font-family: 微软雅黑;">1. 遇到问题,想办法解决问题。</span><span style="margin: 0px; padding: 0px; color: rgb(255, 0, 0);  font-family: 微软雅黑;"><strong>有智慧=找原因+想办法</strong></span><span style="margin: 0px; padding: 0px; font-family: 微软雅黑;">。充分利用百度、Google进行搜索。</span></span></div><div style="font-family: punctuation, 微软雅黑, Tohoma; margin: 0px; padding: 0px; color: rgb(68, 68, 68);"><span style="margin: 0px; padding: 0px; font-family: 微软雅黑; font-size: 16px;">2. 先达成初步目标,再逐步深入、凝练、总结。</span></div><div style="font-family: 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; margin: 0px; padding: 0px; color: rgb(68, 68, 68); font-size: 14px; line-height: 22.3999996185303px;">
</div><div style="font-family: punctuation, 微软雅黑, Tohoma; margin: 0px; padding: 0px; color: rgb(68, 68, 68); font-size: 14px; line-height: 22.3999996185303px;"><span style="margin: 0px; padding: 0px; font-family: 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; font-size: 16px;"><span style="margin: 0px; padding: 0px;  font-family: 微软雅黑;"><strong>【作业要求】</strong></span>
<span style="margin: 0px; padding: 0px; font-family: 微软雅黑;">1.MySQL数据库的基本操作,包括如下两个工作:
(1)在MySQL数据库中插入两个文件中的数据(</span><a target=_blank href="http://pan.baidu.com/s/1ntutIFf" target="_blank" title="http://pan.baidu.com/s/1ntutIFf" style="color: rgb(38, 112, 154); margin: 0px; padding: 0px; text-decoration: none; font-family: 微软雅黑;"><span style="margin: 0px; padding: 0px;">List_Class1.txt</span></a><span style="margin: 0px; padding: 0px; font-family: 微软雅黑;">, </span><a target=_blank href="http://pan.baidu.com/s/1bnzxNpd" target="_blank" title="http://pan.baidu.com/s/1bnzxNpd" style="color: rgb(38, 112, 154); margin: 0px; padding: 0px; text-decoration: none; font-family: 微软雅黑;"><span style="margin: 0px; padding: 0px;">List_Class1_Submit.xls</span></a><span style="margin: 0px; padding: 0px; font-family: 微软雅黑;">,点击下载)。
(2)利用SQL命令查找所有 </span><span style="margin: 0px; padding: 0px; color: rgb(255, 0, 0); font-family: 微软雅黑;">出现在“List_Class1”中,未出现在“</span></span><span style="margin: 0px; padding: 0px; color: rgb(255, 0, 0); font-family: 微软雅黑; font-size: 16px;">List_Class1_Submit</span><span style="margin: 0px; padding: 0px; color: rgb(255, 0, 0); font-family: 微软雅黑; font-size: 16px;">”</span><span style="margin: 0px; padding: 0px; font-family: 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; font-size: 16px;"><span style="margin: 0px; padding: 0px; color: rgb(255, 0, 0); font-family: 微软雅黑;"> 的学生名单</span><span style="margin: 0px; padding: 0px; font-family: 微软雅黑;">,并保存或输出(截图)。</span>

<span style="margin: 0px; padding: 0px; font-family: 微软雅黑;">2. Java操作MySQL数据库。
(1)连接作业1中建立的数据库中的相关的表(table),输出到控制台或Java的相关控件(如表格控件)中。
(2)Java语言编程实现数据库的插入、删除、修改某一条或若干条记录。</span></span></div><div style="font-family: punctuation, 微软雅黑, Tohoma; margin: 0px; padding: 0px; color: rgb(68, 68, 68); font-size: 14px; line-height: 22.3999996185303px;"><span style="margin: 0px; padding: 0px; font-family: 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; font-size: 16px;"><span style="margin: 0px; padding: 0px; font-family: 微软雅黑;">
</span></span></div><div style="font-family: punctuation, 微软雅黑, Tohoma; margin: 0px; padding: 0px; color: rgb(68, 68, 68); line-height: 22.3999996185303px;"><span style="margin: 0px; padding: 0px; font-family: 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif;"><span style="margin: 0px; padding: 0px; font-family: 微软雅黑;"><span style="font-size:24px;">作业</span></span></span></div><div style="font-family: punctuation, 微软雅黑, Tohoma; margin: 0px; padding: 0px; color: rgb(68, 68, 68); line-height: 22.3999996185303px;"><span style="margin: 0px; padding: 0px; font-family: 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif;"><span style="margin: 0px; padding: 0px; font-family: 微软雅黑;"><span style="font-size:24px;">
</span></span></span></div><div style="font-family: punctuation, 微软雅黑, Tohoma; margin: 0px; padding: 0px; color: rgb(68, 68, 68); line-height: 22.3999996185303px;"><span style="margin: 0px; padding: 0px; font-family: 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif;"><span style="margin: 0px; padding: 0px; font-family: 微软雅黑;"><span style="font-size:18px;">第二题</span></span></span></div><div style="font-family: punctuation, 微软雅黑, Tohoma; margin: 0px; padding: 0px; color: rgb(68, 68, 68); font-size: 14px; line-height: 22.3999996185303px;"><span style="margin: 0px; padding: 0px; font-family: 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; font-size: 16px;"><span style="margin: 0px; padding: 0px; font-family: 微软雅黑;"></span></span><pre name="code" class="java">package test1;
import java.sql.*;
public class JDBCTest {
	public static void main(String[] args){
		// 驱动程序名
		String driver = "com.mysql.jdbc.Driver";

		// URL指向要访问的数据库名student
		String url = "jdbc:mysql://127.0.0.1:3306/student1";
		//String url = "jdbc:mysql://localhost:3306/student";

		// MySQL配置时的用户名
		String user = "root";

		// MySQL配置时的密码
		String password = "chen123";

		try { 
			// 加载驱动程序
			Class.forName(driver);

			// 连续数据库
			java.sql.Connection conn = DriverManager.getConnection(url, user, password);

			if(!conn.isClosed()) 
				System.out.println("Succeeded connecting to the Database!");

			// statement用来执行SQL语句
			Statement statement = conn.createStatement();

			// 要执行的SQL语句
			String sql = "select * from class";

			// 结果集
			ResultSet rs = statement.executeQuery(sql);

			System.out.println("------------------------------------------------------");
			System.out.println("执行结果如下所示:");
			System.out.println("------------------------------------------------------");
			//System.out.println("    学号     " + "  \t     " + "              姓名");
			System.out.println("no " + "        c_no       " + "   name  " +"   cla   " +"       sex      ");
			System.out.println("-------------------------------------------------------");

			String name = null;
			while(rs.next()) {
				// 选择sname这列数据
				name = rs.getString("name");
				// 首先使用ISO-8859-1字符集将name解码为字节序列并将结果存储新的字节数组中。
				// 然后使用GB2312字符集解码指定的字节数组
				name = new String(name.getBytes("ISO-8859-1"),"GB2312");
				// 输出结果
				System.out.print(rs.getString( "no" ) + " \t" );
				System.out.print(rs.getString("c_no") + " \t" );
				System.out.print(name + "\t" );
				
				String cla = rs.getString("cla");
				cla = new String(cla.getBytes("ISO-8859-1"),"GB2312");
				System.out.print(cla + "\t" );
                
				String sex = rs.getString("sex");
				sex = new String(sex.getBytes("ISO-8859-1"),"GB2312");
				System.out.println(sex + "\t" );
			}
			
			rs.close();
			conn.close();

		} catch(ClassNotFoundException e) {
			System.out.println("Sorry,can`t find the Driver!"); 
			e.printStackTrace();
		} catch(SQLException e) {
			e.printStackTrace();
		} catch(Exception e) {
			e.printStackTrace();
		} 
	} 
}
结果如图所示:

 
package xuexi;

import java.sql.*;
public class Test1 {
	public static void main(String[] args){
		// 驱动程序名
		String driver = "com.mysql.jdbc.Driver";

		// URL指向要访问的数据库名student
		String url = "jdbc:mysql://127.0.0.1:3306/student1";
		//String url = "jdbc:mysql://localhost:3306/student";

		// MySQL配置时的用户名
		String user = "root";

		// MySQL配置时的密码
		String password = "chen123";

		try { 
			// 加载驱动程序
			Class.forName(driver);

			// 连续数据库
			java.sql.Connection conn = DriverManager.getConnection(url, user, password);

			if(!conn.isClosed()) 
				System.out.println("Succeeded connecting to the Database!");

			// statement用来执行SQL语句
			Statement statement = conn.createStatement();

			// 要执行的SQL语句
			String sql = "select * from list";

			// 结果集
			ResultSet rs = statement.executeQuery(sql);

			System.out.println("------------------------------------------------------");
			System.out.println("执行结果如下所示:");
			System.out.println("------------------------------------------------------");
			//System.out.println("    学号     " + "  \t     " + "              姓名");
			System.out.println("     l_no    " + "  l_name " + " l_group  " +" l_address  " );
			System.out.println("-------------------------------------------------------");

			String  l_name = null;
			while(rs.next()) {
				// 选择sname这列数据
				 l_name = rs.getString("l_name");
				// 首先使用ISO-8859-1字符集将name解码为字节序列并将结果存储新的字节数组中。
				// 然后使用GB2312字符集解码指定的字节数组
				 l_name = new String( l_name.getBytes("ISO-8859-1"),"GB2312");
				// 输出结果
				System.out.print(rs.getString( "l_no" ) + " \t" );
				System.out.print( l_name+ "\t" );
				String l_group  = rs.getString("l_group");
				l_group  = new String(l_group .getBytes("ISO-8859-1"),"GB2312");
				System.out.print(l_group  + "\t" );
				String l_address = rs.getString("l_address");
				l_address = new String(l_address.getBytes("ISO-8859-1"),"GB2312");
				System.out.println(l_address + "\t" );
			}
			
			rs.close();
			conn.close();

		} catch(ClassNotFoundException e) {
			System.out.println("Sorry,can`t find the Driver!"); 
			e.printStackTrace();
		} catch(SQLException e) {
			e.printStackTrace();
		} catch(Exception e) {
			e.printStackTrace();
		} 
	} 
}

结果如图所示:
<img src="https://img-blog.csdn.net/20150518213251032?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMzkyMjkwNA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

总结:
我在做第二题的过程中,发现了很多问题。其一是“<span style="font-family: 微软雅黑; line-height: 22.3999996185303px;">System.out.print(rs.getString("no") + " \t" );</span>”在运行的时候出错,说找不到
“no”。当时我很惊讶,因为我在MYSQL中是能找到“no”的。后来,我才发现我多打了一个空格“ no”,eclipse不能识别,所以出错。这让我感触很大,这是一个小小的问题,它让我知道,我在编写代码的时候要细心,不能粗心。其二是<span style="line-height: 22.3999996185303px; font-family: 微软雅黑;">字符集解码的问题,这个问题太让我头痛了,最后不得不向丁老师求问,最后解决了。</span>
				


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值