20165320 第八周课下补做

知识点总结:

一、加载JDBC-数据库驱动。

        try{ Class. forName("com.mysql.jdbc.Driver");
            }
        catch(Exception e){}

二、连接数据库

        Connection con;
        String uri =
        "jdbc:mysql://192.168.100.1:3309/name?user=root&password=&useSSL=true";
        try{
            con = DriverManager.getConnection(uri);
        }
        catch(SQLException e){
            System.out.println(e);
        }
        

三、常规操作

向数据库发送SQL查询语句

try {Statement sql=con.createStatement();
}
catch(SQLException e) {}

处理查询结果,返回一个ResultSet对象

ResultSet rs = sql.executeQuery{"SELCET * FROM student");

关闭链接

con.close();

四、条件与排序查询

一般格式

select 字段 from 表名 where 条件

字段和固定值比较

select name from mess where name = ‘‘

字段在某个区间范围

select * from mess where height>1.60 and height<=1.8

使用某些特殊的日期函数

select * from time_list where second(shijian)=56

用操作符like进行模式匹配

select * from mess where name like ‘%林%‘

排序:用order by子语句对记录进行排序

selct * from mess order by height

运行结果截图

1.

2.

3.

教材代码例子分析

11.1:查询students数据库中mess表的全部记录,总共三条记录

R1001 张三 2000-12-12 178

R1002 李四 1999-10-09 168

R5320 申启 1998-02-03 180

11.2:随机查询students数据库中mess表中的两条记录,首先将光标移到最后一行,然后再获取最后一行的行号,以便获取表中的记录数目

随机数方法:

public static int[] getRandomNumber(int max,int amount) 

返回1~max之间的amount个不同的随机数

11.3:查询表中姓张,身高大于1.65,出生在2000之前,月份在7月之后的学生,并按出生日期排序

三个条件:

1.year(birthday)<=2000 and month(birthday)>7;

2.name Like ‘张_%‘;

3.height >1.65 ;

11.4:向mess表中插入如下两条记录:

R11,将三,2000-10-23

R10,李武,1989-7-22

11.5:使用预处理语句向mess表中添加记录并查询了姓张的记录

PreparedStatement preSql; //预处理语句对象

preSql = con.prepareStatement(sqlStr);//得到预处理对象

11.6:将数据库名以及SQL语句传递给Query类的对象,用表格显示所查到的记录

11.7:使用事务处理,将mess表中number字段是R1001的height的值减少n,并将减少的n增加到字段是R1002的height上

con.commit(); //开始事务处理,如果发生异常直接执行catch块

11.8:使用Derby数据库管理系统创建了名字是students的数据库,并在数据库中建立了成绩表:

张三 90  李斯 88  刘二 67

sta.execute(SQL); //创建表

教材习题:

1. 将select后的where条件改成order by birthday,其它的条件都删掉。

以下代码省略了GetDBCconnecttion类

importjava.sql.*;
public class BianCheng1{
    public static void main(String args[]) {
    Connection con;
    Statement sql;
    ResultSet rs;
    con = GetDBConnection.connectDB("students","root","");
    if(con == null )return;
    String sqlStr="select * frommess orderby birthday";
    try {
    sql=con.createStatement();
       rs = sql.executeQuery(sqlStr);
        while(rs.next()){
        String number=rs.getString(1);
         String name=rs.getString(2);
         Date date=rs.getDate(3);
        floatheight=rs.getFloat(4);
         System.out.printf("%s\t",number);
         System.out.printf("%s\t",name);
         System.out.printf("%s\t",date);
        System.out.printf("%.2f\n",height);
    }
    con.close();

    }
    catch(SQLException e) {
    System.out.println(e);
    }
 }

}

2.这个题目不会做,百度了一下代码

同样省略了Query

import javax.swing.;
public class BianCheng2 {
public static void main(String args[]) {
String [] tableHead;
String [][] content;
JTable table
JFrame win= new JFrame();
Query findRecord = new Query();
findRecord.setDatabaseName(args[0]);
findRecord.setSQL("select from "+args[1]);
content = findRecord.getRecord();
tableHead=findRecord.getColumnName();
table = new JTable(content,tableHead);
win.add(new JScrollPane(table));
win.setBounds(12,100,400,200);
win.setVisible(true);
win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}

原文地址:https://www.cnblogs.com/Gst-Paul/p/8910075.html

时间: 2024-11-10 08:05:57

20165320 第八周课下补做的相关文章

20165235 第十周课下补做

20165235 祁瑛 第十周课下补做 相关知识点的总结 LinkedList<String> mylist=new LinkedList<String>()来创建一个链表. mylist.add();来添加结点. get(int index)来获取链表中第index个位置的结点的对象. public static sort(List<E>)将链表中的元素升序排列 public static binarySearch(List<T>,T key,Compar

20165322 第十周课下补做

第十周课下补做 课程知识点总结 在数据结构和算法中,排序是很重要的操作,要让一个类可以进行排序,有两种方法: Comparable:"可比较的",(欲参与比较的对象对应的元素类需实现Comparable接口) 使用这种策略来比较时,两个对象(这里两个对象是指一个类的两个不同实例)本身必须是"可比较的",比较的标准由对象所在的类来定义,这种可比较的能力是对象本身固有的,因此不需要第三方参与就可以完成比较.要使得两个对象本身是可比较的,那么对象所在的类必须实现Compa

20165308 2017-2018-2 第十周课下补做

20165308 2017-2018-2 第十周课下补做 一.教材十五章代码分析 代码分析有的是以注释的形式写出,对整个代码的理解是写在前面的 1.p442-443 Example15_1.java Cone.java 此类不关心怎么样计算面积,计算面积由后面的类完成,只需调用即可,只关心计算体积. public class Cone<E> { double height; E bottom; //用泛型类E声明对象bottom public Cone(E b) { //参数b是泛型类型 bo

第十周课下补做

20165339第十周课上测试补做 一.相关知识点 创建链表:LinkedList<String> mylist=new LinkedList<String>(); 增加节点:list.add(E obj) 删除节点:list.remove(index) 遍历链表:(迭代器)链表对象用iterator()方法获得一个Iterator对象.用get(int index)方法返回列表中的第index个对象. 排序:public static sort(List<E> lis

第三周课下补做 20165216

一:相关知识点 1:关于Scanner的运用 (在使用前 使用  import java.util.*:使用 Scanner XXX =new Scanner(System.in)表示读取输入) 2:相关语言语法 对于阶乘的程序可用一个表示阶乘的函数来求和 sum=sum+fact(x); 3:关于断点的调试 熟悉进入main(1)调试,调整行数进行断点调试,可用List观察断点位置 二:课上内容补做内容截图 1: 循环与递归 2:JDB调试 三:第二章编程题 原文地址:https://www.

20155317 第八周课下作业(1)

20155317 第八周课下作业(1) 4.47: 冒泡排序实现: X86-64汇编: Y86-64汇编 4.48 实现冒泡排序,要求不使用跳转,且最多使用3次条件传送. X86-64汇编: y86汇编: 4.49 实现冒泡排序,要求不使用跳转,且最多使用1次条件传送. X86-64汇编: y86汇编

20165315 第二次考试课下补做

20165315 第二次考试课下补做 课上内容的补做,结果截图 参考http://www.cnblogs.com/rocedu/p/6766748.html 编程实现1!+2!+3!+... + N!的功能,N由命令行传入,比如类名为SumofRecur, java SumofRecur 8 给出1!+2!+3!+... + 8!的值, 提交运行结果的截图(至少五张),注意测试正常,异常,边界情况, 比如java SumofRecur -8,java SumofRecur 0,java Sumo

20165315 第四次考试课下补做

20165315 第四次考试课下补做 一.相关知识点的总结 泛型 主要目的是可以建立具有类型安全的集合框架,如链表.散列映射等数据结构 泛型类声明 可以使用class 名称<泛型列表>声明一个类,为了和普通的类有所区别,这样声明的类称作泛型类,没有指定E是何种类型的数据,它可以是任何对象或接口,但不能是基本类型数据 使用泛型类声明对象 泛型类声明和创建对象时,类名后多了一对"<>",而且必须要用具体的类型替换"<>"中的泛型 链表

20175312 2018-2019-2 《Java程序设计》第6周课下选做——类定义

20175312 2018-2019-2 <Java程序设计>第6周课下选做--类定义 设计思路 1.我觉得Book其实就是一个中转的作用,由测试类Bookself通过Book输入数据,然后在验证通过后再取出. 2.在Book.java中储存测试类中输入的数据,然后验证信息是否一样,一样则输出,否则就返回false. 测试代码 Bookself.java public class Bookself { public static void main(String[] args) { Book