用java向mysql数据库中插入数据为空

利用java面向对像编程,向数据库中插入数据时。遇到插入的数据为空的情况。在此做一小结:

1.数据库连接正正常

2.sql语句没有问题

3.程序没有报异常

4.代码:

import java.util.Scanner;

import org.junit.Test;
public class JDBCTest {
 //2).在测试方法testAAddStudent()中
 //1.获取从控制台输入的Student对象:Student student=getStudentFromConsole();
 //2.调用addStudent(Student stu)方法执行插入操作
 
 @Test
 public void testAAddStudent() {
  
    Student student=getStudentFromConsole();
    addStudent(student);
 }
 /**
  * 从控制台输入学生的信息
  */
 //@Test
 public Student getStudentFromConsole(){
 
    Scanner scanner=new Scanner(System.in);
    Student student=new Student();
    //System.out.println("@Stu1"+student);
    System.out.println("Flowid:");
    student.setFlowid(scanner.nextInt());
    System.out.println("Type:");
    student.setType(scanner.nextInt());
    System.out.println("IdCard:");
    student.setIdCard(scanner.next());
    System.out.println("ExamCard:");
    student.setExamCard(scanner.next());
    System.out.println("StudentName:");
    student.setStudentName(scanner.next());
    System.out.println("Localtion:");
    student.setLocaltion(scanner.next());
    System.out.println("Grade:");
    student.setGrade(scanner.nextInt());
    scanner.close();
    return student;
    //System.out.println("@stu2"+student);
 }
 
 public void addStudent(Student stu){
  
    //Student student=new Student();
    
    //1.准备一条sql语句:

  String sql="INSERT INTO examstudent Values("+stu.getFlowid()
    +","+stu.getType()
    +",‘"+stu.getIdCard()
    +"‘,‘"+stu.getExamCard()
    +"‘,‘"+stu.getStudentName()
    +"‘,‘"+stu.getLocaltion()
    +"‘,"+stu.getGrade()+")";
    System.out.println(sql);
    //2.调用JDBCTools类的update(sql)方法执行插入操作。
    JDBCTools.update(sql);
   }
}

5.总结:根据1、2、3判断,正常情况下,是可以对数据库进行添加数据的,但是添加的数据,通过查看数据库值为0或为空,

后来从程序的逻辑关系上进行检查分析,发现public void addStudent(Student stu)中Student student=new Student();是影响插入值的原因。

后来将在该方法中创建对象的语句去掉,利用形参写sql语句,结果正常了。属于对象重新被创建而引起的为空的现象。

时间: 2024-12-28 06:18:54

用java向mysql数据库中插入数据为空的相关文章

Java项目往数据库中插入数据,出现中文乱码

项目环境: JSP+Servlet+Mysql数据库 需要检查的地方: 1. java项目整体的编码格式为utf-8.并且将数据传递给数据库之前,数据是否依旧是正常的(可以通过打断点的方式一步步跟踪查看).如果此时就有问题,那么需要检查的地方是:各个jsp/java文件的编码格式是否为utf-8;接受参数以及响应时,是否设置了编码格式: request.setCharacterEncoding("utf-8"); response.setContentType("text/h

解决getJdbcTemplate往oracle数据库中插入数据返回主键出错问题

我们使用Spring中的JdbcDaoSupport往Mysql中插入数据并返回主键代码,我们使用的mysql数据库,主键在数据库中设置为自增长:该类继承自JdbcDaoSupport,所以能直接使用getJdbcTemplate() public int saveUser(String userName,int age,String password){ getJdbcTemplate().update(new PreparedStatementCreator() { public Prepa

使用sqoop将MySQL数据库中的数据导入Hbase

使用sqoop将MySQL数据库中的数据导入Hbase 前提:安装好 sqoop.hbase. 下载jbdc驱动:mysql-connector-java-5.1.10.jar 将 mysql-connector-java-5.1.10.jar 拷贝到 /usr/lib/sqoop/lib/ 下 MySQL导入HBase命令: sqoop import --connect jdbc:mysql://10.10.97.116:3306/rsearch --table researchers --h

向Oracle数据库中插入数据出错:ORA-01036 无效的变量名或数据

向Oracle数据库中插入数据出错: 经过排查,因为Update数据时没有出错,所以OracleHelper没有问题: 看异常信息提示:无效的变量和数据,应该是SQL语句的问题,调试时所传的实例UserInfo数据是正确的,所以只能是SQL语句的问题: 曾今一度怀疑这样使用Sequence是错误的,中途变换了触发器,弄了变天触发器也些错误了, 再次回到直接用序列,仔细之下,终于发现这个分号‘:’,这里应该为‘:’,实在是太小了,很难发现,以后这里最好留一个空格.

以使用QSqlQuery向数据库中插入数据为例,做一个小结

背景: 最近在使用Qt+SQLite写一个本地数据库管理程序(使用者不懂SQL),在写向数据库中插入数据的 相关的函数时,我遇到了几个问题(暂时就这些): 1.向指定字段插入指定数据时,读取到的数据都是字符串类型,然而不同字段的数据类型是不同的,这 里需要获取不同字段的数据类型,再做类型转换 2.使用QSqlQuery插入数据时,具体实现的考虑 3.在实现一个功能时,是先将功能做出来,然后对一些最初未考虑到的问题慢慢补足,还是先尽可能考 虑到所有情况,再实现相关功能 4.此时某个函数的实现,是否

python往mysql数据库中写入数据和更新插入数据

本文链接:https://blog.csdn.net/Mr__lqy/article/details/85719603 1. 连接mysql import pymysql db = pymysql.connect(host='localhost', user='root', password='123456', port=3306, db='spiders') cursor = db.cursor() sql = 'select * from students;' cursor.execute(

java操作MySQL数据库(插入、删除、修改、查询、获取所有行数)

插播一段广告哈:我之前共享了两个自己写的小应用,见这篇博客百度地图开发的两个应用源码共享(Android版),没 想到有人找我来做毕设了,年前交付,时间不是很紧,大概了解了下就接下了,主要用到的就是和服务器端交互,这个我之前没做过,因此接下来的时间里会陆续更 新这一些列的博客,记录学习的点滴.第一篇主要是java读取mysql数据库文件.安装及配置文件稍后会上传到我的百度网盘供大家下载.其他的介绍在网 上都可以找到相关的博客,下面直接给出源代码. mysql建立一个名为“vge_whu”的数据库

如何使用myBatis在数据库中插入数据并返回主键

在MyBatis中,希望在Oracle中插入数据的同时返回主键值,而非插入的条数. ① oracle使用 selectKey. U_USER_INFO_SEQ 是在数据库中定义好的这张表关联的序列sequence, Nextval是获取自增的id <insert id="insertSelective" parameterType="com.jxxx.p2pp.model.UUserInfo"> <selectKey resultType=&quo

solr4从mysql数据库中导入数据

实际项目中,我们需要把已存在于数据库中的数据导入到solr索引库中,solr给我们提供了一个非常简便的方式DIH,下面我们以mysql数据为例. 1.进入你的core(如collection1),新建一个目录lib. 2.拷贝mysql-connector-java-5.1.14.jar到新建的lib目录中. 3.从solr的解压文件目录中找到“E:\solrbase\example-DIH\solr\db\conf”下的db-data-config.xml文件到你的core(如collecti