gpt4 book ai didi

java - 直接将java对象导入到mysql表中,列是对象的变量

转载 作者:行者123 更新时间:2023-11-29 00:41:59 25 4
gpt4 key购买 nike

假设我有一个带有变量 x、y 和 z 的 Java 对象,我想将它自动导入到包含列 id、x、y 和 z 的 MySQL 数据库表中。有没有一种简单的方法可以完成,还是我必须为每个单独的类(class)手动完成?

谢谢。

编辑:通过“自动”,我可以做类似的事情:

some_instance.importIntoDB(database_table_name)

some_instance = extractFromDB(database_table_name, conditions);

显然,它不会那么简单,但我正在寻找类似于对象序列化和将 java 对象转换为 XML 并返回的简化的东西。

最佳答案

回答我自己的问题,因为其他人认为这太微不足道了,除了关键字答案之外还需要打扰:

Java EE 有一个包(持久性)专门处理将 Java 对象直接与 MySQL 表链接。

<强>1。制作一个persistence.xml

此方法的核心组件是定义一个 persistence.xml 文件,该文件指定与 Java-MySQL 映射关联的各种属性。通常,Java IDE(即 Netbeans、Eclipse)将有一个接口(interface)来处理适当的 persistence.xml。

<强>2。 EntityManager对象

Java EE 中的 EntityManager 是处理对象映射的关键 Controller 类。它可以由

EntityManager em = Persistence.createEntityManagerFactory(
[PERSISTENCE_UNIT]).createEntityManager();

其中 [PERSISTENCE_UNIT] 是在创建“persistence.xml”文件(通过 IDE 接口(interface))时指定的“持久性单元名称”

可以在此处找到如何使用 EntityManager 的示例: http://docs.oracle.com/javaee/6/tutorial/doc/gijst.html

<强>3。标记对象类

需要映射到数据库的数据类型需要用以@开头的注解来标记,以指定它们的使用方式。可以在以下链接中找到示例:http://hop2croft.wordpress.com/2011/07/06/jpa-basic-example-with-entitymanager-spring-and-maven/

注:本链接作者使用Maven和Spring。如果使用 Netbeans,则可以忽略大部分页面,唯一相关的部分是定义“Car”类的部分(只需搜索“public class Car”),它提供了一个教育示例,说明如何标记上课。

注2:由于作者使用的是Spring,很多出现在“Car.java”之外的注解,比如@Transactional,可能不适用。

用户在此过程中可能遇到的一个问题是主键的处理,主键通常设置为“自增”。此页面解决了在将新对象实例插入数据库时​​让系统自动处理主键的问题:http://www.developerscrappad.com/408/java/java-ee/ejb3-jpa-3-ways-of-generating-primary-key-through-generatedvalue/

最后,将所有具有 @Entity 标记的类/对象添加到 persistence.xml 是一个好主意,因为如果不这样做,可能会导致运行时问题。

希望这能帮助其他新手,否则他们可能会因为问我刚才问的同样明显无知的问题而被否决。

关于java - 直接将java对象导入到mysql表中,列是对象的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11886058/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com