我已经使用 Hibernate 创建了具有以下配置的 Java 应用程序:
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306 /bee</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.query.factory_class">org.hibernate.hql.classic.ClassicQueryTranslatorFactory</property>
<property name="connection.username">root</property>
<property name="connection.password"/>
<property name="hibernate.connection.charSet">UTF-8</property>
<property name="hibernate.connection.characterEncoding">UTF-8</property>
<property name="hibernate.connection.useUnicode">true</property>
<mapping resource="DatabaseMapping.hbm.xml"/>
</session-factory>
</hibernate-configuration>
Run Code Online (Sandbox Code Playgroud)
当我使用 jdbc:mysql://localhost... 时一切正常,但现在我需要将数据库嵌入到我的应用程序中。我应该使用哪个数据库?我需要在启动应用程序、更新数据、保存、删除后存储并加载所有数据。我使用 HQL 查询或 SQL 查询。
使数据库嵌入的最简单方法是什么?我不想改变我的查询。只更改休眠配置并将其设置为嵌入式数据库就可以了,这可能吗?
我试图创建JPanel与可拖动的十字架,鼠标点击后出现.一切正常,但当我调整JPanel的大小时,十字架消失了.我试图覆盖JPanel中的paintComponent方法,但是所有的十字都在坐标(0,0)处.我该如何解决?
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionAdapter;
import java.util.ArrayList;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class CrossPanel extends JPanel implements MouseListener {
private int orderOfCross = 0;
private ArrayList<Cross> crosses;
private int defaultSizeOfCrosses = 10;
CrossPanel() {
setOpaque(false);
addMouseListener(this);
crosses = new ArrayList<Cross>();
}
@Override
public void mouseClicked(MouseEvent e) {
int x = e.getX();
int y = e.getY();
Cross cross = new Cross(orderOfCross++, defaultSizeOfCrosses);
crosses.add(cross);
cross.setLocation(x - defaultSizeOfCrosses, y - defaultSizeOfCrosses);
add(cross);
repaint();
}
@Override …Run Code Online (Sandbox Code Playgroud)