第一部分:实验项目

项目二:数据库初步。

目的:了解Java连接数据库的步骤与方法。以及MySQL数据库的安装与使用。

目标:
(1)在机房安装上MySQL数据库。

安装成功 MySQL数据库

(2)创建数据表 student(id varchar(12),name varchar(20), success int, failure int )。导入对应的数据到文件里。success 与 failure的默认值为1。


创建student表

连接数据库代码
import java.sql.*;

public class JDBCTest {

public static void main(String[] args){

           // 驱动程序名
String driver = "com.mysql.jdbc.Driver"; // URL指向要訪问的数据库名TYH3
String url = "jdbc:mysql://127.0.0.1:3306/TYH3"; // MySQL配置时的username
String user = "root"; // MySQL配置时的密码
String password = "123456"; try {
// 载入驱动程序
Class.forName(driver); // 连续数据库
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 student"; // 结果集
ResultSet rs = statement.executeQuery(sql); System.out.println("-----------------");
System.out.println("运行结果例如以下所看到的:");
System.out.println("-----------------");
System.out.println(" 学号" + "\t" + " 姓名");
System.out.println("-----------------"); String name = null; while(rs.next()) { // 选择sname这列数据
name = rs.getString("sname"); // 首先使用ISO-8859-1字符集将name解码为字节序列并将结果存储新的字节数组中。 // 然后使用GB2312字符集解码指定的字节数组
name = new String(name.getBytes("ISO-8859-1"),"GB2312"); // 输出结果
System.out.println(rs.getString("sno") + "\t" + name);
} 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(); }
}
}

(3)当猜猜正确时,数据表中,success+1。推測错误时。failure+1。
相关课件:   第10章:数据库(网盘下载)。

请大家多练习数据库操作,熟悉Java对数据库的增删改查操作。



第二部分:作业博客要求

1. 在作业博客中,利用这周与17周周一上午的时间,完毕两个项目,并把执行结果、代码写到博客中。

2. 在作业博客中,回答下面四个问题:

(1)简述Java中。连接数据库有哪几个基本步骤? 其对应的核心类与代码各自是什么?

1
载入数据库驱动

Class.forName("com.jdbc.mysql.Driver");

2.连接数据库

Connection con = DriverManager.getConnection(url,user,password);

3。创建statement对象

Statement stmt = con.createStatement();

4。

查询结果用resultSet显示

String sql = "";

ResultSet rs = (ResultSet) stmt.executeQuery(sql);



(2)简述MySQL中,创建一个数据表的SQL语句是什么?
命令:create
database <数据库名>


(3) 简述Java中,生成[1,53]之间的随机数的核心代码各自是什么?
public class Random(){
public static void main(String [] args){
int ran = (int)(Math.random()*53 +1);
System.out.println(ran);
}
}

(4)简述Java中,读写文本文件的类各自是什么?核心代码各自是什么? 

应该是
InputStream\OutputStream

FileInpuStream\FileOutputStream


《Java程序设计》第16周周五:数据库连接 与 随机数的使用的更多相关文章

  1. Java程序设计 第16周 课堂实践 —— 数据库4

    Java程序设计 第16周 课堂实践 -- 数据库4 课堂实践任务4 查询world数据库,查询哪个国家的平均寿命最长. 代码分析 实现查询数据库需要我们修改Message.java,MessageD ...

  2. Java程序设计 第16周 课堂实践 —— 数据库3

    Java程序设计 第16周 课堂实践 -- 数据库3 课堂实践任务3 查询world数据库,获得New Jessey州所有城市的总人口数. 代码分析 实现查询数据库需要我们修改MessageDAO.j ...

  3. Java程序设计 第16周 课堂实践

    Java程序设计 第16周 课堂实践 -- 数据库2 课堂实践任务2 查询world数据库,获得人口超过500万的所有城市的列表. 代码分析 实现查询数据库需要我们修改Message.java,Mes ...

  4. 2018面向对象程序设计(Java)第16周学习指导及要求

    2018面向对象程序设计(Java)第16周学习指导及要求(2018.12.13-2018.12.16)   学习目标 (1) 掌握线程概念: (2) 掌握线程创建的两种技术: (3) 理解和掌握线程 ...

  5. 2019面向对象程序设计(Java) 第16周学习指导及要求

    2019面向对象程序设计(Java)第16周学习指导及要求 (2019.12.13-2019.12.16) 学习目标 (1) 掌握Java应用程序的打包操作: (2) 掌握线程概念: (3) 掌握线程 ...

  6. 学号 20175212 《Java程序设计》第九周学习总结

    学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...

  7. 20155334 2016-2017-2 《Java程序设计》第九周学习总结

    20155334 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章:整合数据库 16.1 JDBC入门 JDBC(Java DataBase Conn ...

  8. 20155306 2016-2017-2 《Java程序设计》第九周学习总结

    20155306 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 16.1 JDBC入门 Java语言访问数据库的一种规范,是一套API ...

  9. 20155207 2016-2017-2 《Java程序设计》第九周学习总结

    20155207 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立 ...

  10. 20155225 2016-2017-2 《Java程序设计》第九周学习总结

    20155225 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC入门 了解JDBC架构 使用JDBC API JDBC是用于执行SQL的解决方案,开 ...

随机推荐

  1. BZOJ 1511 KMP

    题意:求出每个前缀的最长周期之和(等于本身的算0) 思路: 求出来next数组  建出next树 找到不为0的最小的 n减去它就是答案 //By SiriusRen #include <cstd ...

  2. F - Micro-World(简单模拟)

    Problem description You have a Petri dish with bacteria and you are preparing to dive into the harsh ...

  3. Android贝塞尔曲线应用-跳动的水滴

    主要通过6个控制点实现. val startPoint = PointF() val endPoint = PointF() val control1 = PointF() val control2 ...

  4. DeltaFish 校园物资共享平台 第二次小组会议

    软工第二周小组会议 会议地点:三教讨论区 会议时间:9:00 ~ 10:00 与会人员:软工小组成员 请假人员:刘鼎乾 整理人:艾寅中 会议记录 一.小组分工 在经过一周的调研后,组长根据调研结果和对 ...

  5. .net mvc DropDownListFor下拉列表使用(验证)方法

    @Html.DropDownListFor(model => model.SchoolId, new SelectList(ViewBag.SelectList, "SchoolTyp ...

  6. JSP_内置对象_请求转发和请求重定向的区别

    请求重定向:客户端行为,response.sendRedirect(),从本质上将等同与两次请求,前一次请求request对象不会保存,地址栏的URL地址会改变. 请求转发:服务器行为,request ...

  7. AOP注解形式 整合memcache

    1.首先自定义注解 :添加缓存 @Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)@Documented@Inheritedp ...

  8. 【剑指Offer】13、调整数组顺序使奇数位于偶数前面

      题目描述:   输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变.   解题思 ...

  9. 51nod1212 无向图最小生成树

    N个点M条边的无向连通图,每条边有一个权值,求该图的最小生成树. Input 第1行:2个数N,M中间用空格分隔,N为点的数量,M为边的数量.(2 <= N <= 1000, 1 < ...

  10. [luogu1971 NOI2011] 兔兔与蛋蛋游戏 (二分图博弈)

    传送门 Solution 补一篇二分图博弈 这个博客写的很详细qwq: https://www.cnblogs.com/maijing/p/4703094.html Code //By Menteur ...