问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java学生信息管理系统源代码,带有连接数据库的

发布网友 发布时间:2022-04-09 23:58

我来回答

2个回答

懂视网 时间:2022-04-10 04:19

虽说非常easy。但还是应该总结一些问题。

一路的坎坷仅仅能如今表达了。 以下就是一些问题以及过程: 最重要的问题可能就是sql语句了。今天弄了好久的sql语句中的错误。
一、我们须要先来总结我们的sql几个语句:
推断表是否存在: 方法: ResultSet getTables(String catalog,String schemaPattern,String tableNamePattern,String[] types)
參数: catalog - 类别名称,由于存储在数据库中,所以它必须匹配类别名称。

该參数为 "" 则检索没有类别的描写叙述。为 null 则表示该类别名称不应用于缩小搜索范围
schemaPattern - 模式名称的模式,由于存储在数据库中,所以它必须匹配模式名称。该參数为 "" 则检索那些没有模式的描写叙述,为 null 则表示该模式名称不应用于缩小搜索范围
tableNamePattern - 表名称模式。由于存储在数据库中。所以它必须匹配表名称
types - 要包含的表类型组成的列表,null 表示返回全部类型 
返回:
ResultSet - 每一行都是一个表描写叙述


以下是代码: DatabaseMetaData meta = con.getMetaData();  ResultSet rsTable = meta.getTables(null, null, this.Clazz.getSimpleName(), null); if(rsTable.next()){     表存在 }

推断完表后,我们就该做做下一步:假设没表,新建。添数据: 新建表的语句: CREAT TABLE tablename (id varchar(255) , age int(255)) 后面的參数是    :      你的变量名 变量类型(变量长度) , ......
加入数据的语句: insert into tablename (id , age) values (1,1) 这里就不具体解释了
其它的连接数据库直接上代码: //----------------------------- 连接数据库 --------------------------------------//  public Connection ConnectingMysql() throws SQLException{   String drivename = "com.mysql.jdbc.Driver";   String url = "jdbc:mysql://localhost:3306/dbhouse";   String userName = "root";//mysqlusername   String password = "root";//mysql用户密码   try {    Class.forName(drivename);   } catch (ClassNotFoundException e) {    // TODO Auto-generated catch block    e.printStackTrace();   }   connection = DriverManager.getConnection(url, userName, password);   return connection;  }  //---------------------------------------------------------------------------------------//

还有个值得注意的地方: 关于最后运行sql语句的时候,statement这个接口下的三个带execute的方法,非常easy混淆。 mysql 中execute、executeQuery和executeUpdate之间的差别: http://blog.csdn.net/error/404.html?from=http%3a%2f%2fblog.csdn.net%2fmon_key_dt%2farticle%2fdetails%2f40516043
二、关于反射传递的数据 首先传入的是我要保存的对象名,通过newinstance()方法取出我的对象 Object object = this.Clazz.newInstance();
再来就是循环输出对象中的变量名和变量类型,提示输入 for (Field field : this.Clazz.getDeclaredFields()) System.out.println("please input "+field.getName()+"("+field.getType().getSimpleName()+"):");     String valueString = scanner.nextLine(); //输入数据     Object value = null;         if(field.getType().equals(String.class)) //推断数据类型     {      value = valueString;     } ......还有非常多其它的类型推断我就不贴在这里了
每次输入完毕,保存对象信息 field.set(object, value);   最后。保存数据给全局变量,以便最后传给数据库做准备 dataName += field.getName() + ","; //全部数据的名字     if(field.getType().equals(Integer.class) || field.getType().equals(int.class)){      data[dataLength ++] = field.getName() + " int(255),"; //为数据库的creat table 做准备      dataType += "int,"; //数据类型      System.out.println("datatype : " + dataType);      dataValue += valueString + ","; //数据值      System.out.println("datavalue : " + dataValue);     }     else {      data[dataLength ++] = field.getName() + " varchar(255),";      dataType += "varchar,";      System.out.println("datatype : " + dataType);      dataValue += valueString + ",";      System.out.println("datavalue : " + dataValue);     }
到这里。基本就已经完毕了。数据库中的insert 以及create table 也直接上代码 不上台面的方法大家就睁一仅仅眼闭一仅仅眼吧。
//新建表    String tableMessage = "";    for(int i = 0 ; i < dataLength ; i++){     tableMessage += data[i];    }    String sql_newTable = "CREATE TABLE " + this.Clazz.getSimpleName() + "("      + tableMessage.substring(0, tableMessage.length() - 1) + ")";    System.out.println(sql_newTable);        statement.execute(sql_newTable);    //插入数据    String sql_add = "insert into " + this.Clazz.getSimpleName() + "("      + dataName.substring(0, dataName.length() - 1) + ") "//变量名      + "values(" + dataValue.substring(0, dataValue.length() - 1) +")";//(?

,?,?,?

)

   System.out.println(sql_add);    statement.executeUpdate(sql_add);

小白一枚,有错之处希望大家及时帮我改正。

用反射完毕学生管理系统(包含数据库连接)

标签:get   simple   ada   catch   cal   长度   类别   statement   turn   

热心网友 时间:2022-04-10 01:27

import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.Container;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
少儿学什么舞蹈 青年学什么舞蹈好 成年人学什么舞蹈 福州企业最低工资标准 2013年厦门的底薪是多少 生产要素的需求有哪些性质 生产要素的需求有何特点? 什么是生产要素需求 微观经济学要素需求什么是条件要素需求?它和要素需求有什么不同?_百度... 养宠物的人遵守规则,是不是就能和别人平安相处呢? 温湿度的要求怎么判定,有没有相应的标准 怎样确定土壤湿度? 怎样判断土壤湿度? 怎样区分空气中的湿度?多少为潮湿,多少为干燥? 日常生活中如何判断空气的湿度? 各位精益生产的发展咋样?优点是什么? 香港大学研究生申请需要达到什么条件? 谁会2进制和八进制 十六呢? 求详细最好举例子 7的二进制是多少? 正79负79用二进制数分别怎么表示 十进制数79转化为十六进制数为? (79)16=()2=()10计算机16进制到2进制到10进制帮忙看下,需要解题过程 十进制数79转化成二进制是多少? 将十进制数79分别转换成二进制、八进制、十六进制数。 怎样将十进制79转换成二进制?最好有详细解释,谢谢。 79怎么换算成二进制,79的二进制怎么换算成十进制?好心人回一下。 请把十进制数79转化为二进制数(写出换算过程) vb学生学籍管理系统的数据库连接?? ps抠图是哪个图标 柿饼不能和什么水果一起吃吗 对方是空号,话费自己就退回来了吗? 我刚好充话费充错了,是个空号,他们会给我退回来么?还是就打水漂了? 甜柚的英文缩写? 如何进行新浪微博营销? 传统企业如何高效开展微博营销 怎样进行新浪微博营销? 软件的微博营销该怎么做? 关于我和弟弟周末打篮球的优秀作文 急求java学生信息管理系统源代码,带有连接数据库的,万分感谢 Pos机能刷钛合金材质的卡吗?美国运通就是钛合金的那得怎么刷呢? 如何使用微博营销? 在手机上可以给TXT文件分章节目录吗? 钛合金和不锈钢相比那种材料强度硬? 有没有什么营销方面的微博参考一下? 如何在txt文件中将内容分段展示? 请问微博营销要如何做? 中行钛金卡是什么级别 拼多多查找订单 TXT怎么设置章节 就是用QQ手机阅读看东西不是有一个智能断章么,那个如果自己制作TXT怎么设置才能让他断章 汽车违章要多久时间能查到