Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java setter和getter将数据导入Java数据库_Java_Sql_Database_Jdbc_Getter Setter - Fatal编程技术网

Java setter和getter将数据导入Java数据库

Java setter和getter将数据导入Java数据库,java,sql,database,jdbc,getter-setter,Java,Sql,Database,Jdbc,Getter Setter,我正在从事一个独立的Java项目(不是Java EE),我正在学习JDBC,我正在创建一个数据库,其中包含员工信息,如个人信息、联系信息、员工信息和税务信息,所有这些都是相互引用的类,它们都有setter和getter,我想知道如何在数据库中创建的数据库/表中插入它们的数据值?简而言之,我有一个Employee对象,如下所示 Employee(PersonalInformation information,ContactInformation cInformation) 诸如此类,我如何将它们

我正在从事一个独立的Java项目(不是Java EE),我正在学习JDBC,我正在创建一个数据库,其中包含员工信息,如个人信息、联系信息、员工信息和税务信息,所有这些都是相互引用的类,它们都有setter和getter,我想知道如何在数据库中创建的数据库/表中插入它们的数据值?简而言之,我有一个Employee对象,如下所示

Employee(PersonalInformation information,ContactInformation cInformation)

诸如此类,我如何将它们的数据添加到我在数据库中创建的表中?

我建议您查看Spring的JdbcTemplate(http://www.java2s.com/Code/Java/Spring/ControlParameterTypeInJdbcTemplateQuery.htm)

它看起来像这样:

SingleConnectionDataSource ds = new SingleConnectionDataSource();
ds.setDriverClassName("org.hsqldb.jdbcDriver");
ds.setUrl("jdbc:hsqldb:data/tutorial");
ds.setUsername("sa");
ds.setPassword("");

JdbcTemplate jt = new JdbcTemplate(ds);
jt.execute("insert into employee (id, name) values (?, ?)", 1, "Tom");

每个DAO类实例使用一个jdbcTemplate。

我建议您查看Spring的jdbcTemplate(http://www.java2s.com/Code/Java/Spring/ControlParameterTypeInJdbcTemplateQuery.htm)

它看起来像这样:

SingleConnectionDataSource ds = new SingleConnectionDataSource();
ds.setDriverClassName("org.hsqldb.jdbcDriver");
ds.setUrl("jdbc:hsqldb:data/tutorial");
ds.setUsername("sa");
ds.setPassword("");

JdbcTemplate jt = new JdbcTemplate(ds);
jt.execute("insert into employee (id, name) values (?, ?)", 1, "Tom");
每个DAO类实例使用一个jdbcTemplate。

这可能会对您有所帮助

  • 将所有必需的值传递给相应的对象
  • 获取它们的所有值并使用这些值构建查询,如

     Employee em = new Employee(perinfo, continfo);
     String emp_per_info = em.getSomeInfo();   // it this returns a string
     ...
     //so on
     query="insert into table_name values(variables go here);"
    
    如果不起作用,请告诉我

    • 这可能会对您有所帮助

      • 将所有必需的值传递给相应的对象
      • 获取它们的所有值并使用这些值构建查询,如

         Employee em = new Employee(perinfo, continfo);
         String emp_per_info = em.getSomeInfo();   // it this returns a string
         ...
         //so on
         query="insert into table_name values(variables go here);"
        
        如果不起作用,请告诉我

      我将如何将他们的数据添加到我在数据库中创建的表中

      通过使用JDBC向数据库发送INSERT语句,对象图中的每个对象对应一条语句(假设每个类有一个表)

      是的,这需要编写大量枯燥、重复的代码,这些代码可能包含错误,并且维护起来相当麻烦

      这就是为什么人们像Hibernate一样编写代码,并且有一个Java标准称为JPA。这是JavaEE的一部分,但这并不意味着您必须运行JavaEE服务器才能使用它

      更新:好的,所以您不能使用ORM,可能是因为您应该首先了解JDBC是如何工作的,这是有意义的,因为ORM是基于JDBC的,有时出现问题时您必须降低到该级别

      直接使用JDBC时,通常会创建一个层,负责向数据库中写入和读取对象。为了处理嵌套对象,一个DAO可以调用另一个DAO

      不,DAO不是在setter和getter中调用的。应用程序中对用户输入做出反应的部分调用了。例如,当用户打开应用程序且开始屏幕显示员工列表时,您将调用
      EmployeeDAO.findAll()
      方法,当用户对员工进行更改并单击“保存”时,您将调用
      EmployeeDAO.save()
      方法

      我将如何将他们的数据添加到我在数据库中创建的表中

      通过使用JDBC向数据库发送INSERT语句,对象图中的每个对象对应一条语句(假设每个类有一个表)

      是的,这需要编写大量枯燥、重复的代码,这些代码可能包含错误,并且维护起来相当麻烦

      这就是为什么人们像Hibernate一样编写代码,并且有一个Java标准称为JPA。这是JavaEE的一部分,但这并不意味着您必须运行JavaEE服务器才能使用它

      更新:好的,所以您不能使用ORM,可能是因为您应该首先了解JDBC是如何工作的,这是有意义的,因为ORM是基于JDBC的,有时出现问题时您必须降低到该级别

      直接使用JDBC时,通常会创建一个层,负责向数据库中写入和读取对象。为了处理嵌套对象,一个DAO可以调用另一个DAO


      不,DAO不是在setter和getter中调用的。应用程序中对用户输入做出反应的部分调用了。例如,当用户打开应用程序,开始屏幕显示员工列表时,您将调用
      EmployeeDAO.findAll()
      方法,当用户对员工进行更改并单击“保存”时,您将调用
      EmployeeDAO.save()
      方法。

      您尝试执行的操作称为“对象到关系映射”。java对象构成了对象域,DB表构成了关系模型。你必须把它们联系起来。保存数据并查询以将其取回。 有两种方法可以编写自己的有限框架或使用现有框架。现有框架包括:

      • 冬眠
      • 伊巴蒂斯 等等
      要自己做一个,最简单的方法是将简单的结果集写入对象映射器并创建插入字符串。 我建议你学习一些ORM文档来了解更多。
      关于

      您试图做的事情被称为“对象到关系映射”。java对象构成了对象域,DB表构成了关系模型。你必须把它们联系起来。保存数据并查询以将其取回。 有两种方法可以编写自己的有限框架或使用现有框架。现有框架包括:

      • 冬眠
      • 伊巴蒂斯 等等
      要自己做一个,最简单的方法是将简单的结果集写入对象映射器并创建插入字符串。 我建议你学习一些ORM文档来了解更多。
      关于

      可能重复的检查本教程是否可以不映射?因为我没有这方面的经验或想法,我们的教练禁止我们使用这一点project@KyelJmD,当然,如果目标是学习JDBC,那么继续学习,稍后您将看到ORM的更好解决方案