Java setter和getter数据到Java数据库



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

Employee(PersonalInformation information,ContactInformation cInformation)

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

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

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

是的,这是一大堆无聊的、重复的代码,很可能包含错误,而且维护起来相当麻烦。

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

Update: OK,所以你不能使用ORM,可能是因为你应该首先理解JDBC是如何工作的,这是有道理的,因为ORM是基于JDBC的,有时当出现问题时你必须下到那个级别。

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

不,dao不在setter和getter中调用。由应用程序中响应用户输入的部分调用。例如,当用户打开应用程序并且开始屏幕显示员工列表时,您将调用EmployeeDAO.findAll()方法,当用户更改员工并单击"保存"时,您将调用EmployeeDAO.save()方法。

我建议您查看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);"
    

    如果不成功请告诉我

你要做的是所谓的"对象到关系映射"。您拥有组成对象域的java对象,以及组成关系模型的DB表。你要把它们联系起来。保存数据并查询以获取它们。您有两种方法来编写自己的有限框架或使用现有框架。现有框架包括:

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

最新更新