java往数据库插入数据代码_用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语句,结果正常了。属于对象重新被创建而引起的为空的现象。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值