Tag: 数据库

将Android应用程序连接到远程数据

Sheesh谈论有限的信息! 我正在尝试让我的Android应用程序连接到在线数据库以访问信息。 有很多信息,包括地理标记,这些将在我的应用程序上映射。 开发者网站提供了非常丰富的信息: 您可以使用网络(如果可用)在您自己的基于Web的服务上存储和检索数据。 要执行网络操作,请使用以下包中的类: java.net.* android.net.* 就像我在上一个问题中所说的那样,我仍然是一个非常新的Android新手,并且试图记住我在大学时的java oop很慢。 有没有人有一个如何工作的例子,或者我如何实现它? 我甚至不介意连接到本地xml文件,如果我能找到一个如何做到这一点的好例子!? 我只是在寻找所有错误的地方?! 帮帮我。 请! Ť

@ManyToMany关系中表的JPA 2.0 CriteriaQuery

我在@ManyToMany关系中有两个实体。 // Output has 4 other @ManyToOne relationships if that matters @Entity @Table public class Output { @Id public String address; @ManyToMany(targetEntity = Interval.class, cascade = CascadeType.ALL, fetch = FetchType.LAZY) @JoinTable(name = “output_has_interval”, joinColumns = {@JoinColumn(name = “output_address”, referencedColumnName = “address”)}, inverseJoinColumns = {@JoinColumn(name = “interval_start”, referencedColumnName = “start”), @JoinColumn(name = “interval_end”, referencedColumnName = “end”)}) […]

JDBC SQL数据库被锁定了吗?

我正在编写一个使用本地SQL数据库来存储数据的程序。 我正在使用此处找到的驱动程序: https : //bitbucket.org/xerial/sqlite-jdbc 我试图从数据库中读取并将tableName的内容放入JTable中,如下所示: public Object[][] getTable(String tableName){ int columns = getColumnNumber(tableName); int rows = getRowNumber(tableName); String[] columnNames = getColumnNames(tableName); Object[][] table = new Object[rows][columns]; try{ Connection connection = DriverManager.getConnection(“jdbc:sqlite:” + dbName + “.db”); Statement stmt = connection.createStatement(); ResultSet rs = stmt.executeQuery(“select * from ” + tableName); for(int r = 0; r < […]

JUnit:测试DAO – 回滚或删除

我正在使用JUnit 4测试一个非常简单的java应用程序。“简单”我的意思是没有弹簧和没有hibernate。 我需要测试数据访问层( JDBC , MySQL ),我怀疑哪种方法更适合这种测试? 在@After上插入数据并在@After上删除或在@Before上创建一个事务并在@After上回滚? 谢谢!

使用ObjectDB搜索空用户数据库时出现问题

我正在创建一个使用ObjectDB来创建和维护一组数据库的java应用程序。 我目前正在尝试实现一个DB来存储由用户名和密码字符串组成的用户对象。 在JFrame / swing类中,我有一个用于创建新用户的按钮,当单击此按钮时,我希望发生以下情况: 创建(或连接)数据库 搜索数据库以查看是否存在提供用户名的用户对象 如果用户已存在则显示对话框消息,否则创建用户 但是,单击此按钮时,我会在使用查询对象结果的行上收到“找不到用户”错误。 我很确定这是因为我有一个空的数据库,但是我希望代码在程序第一次运行时工作,所以它需要处理一个空的数据库。 我已经尝试在首次运行查询之前更改代码以创建新用户,然后代码按照每次单击按钮时的工作方式运行,并且可以检测是否需要创建新用户。 我试图创建一个“默认”或“管理”类型的用户,这样搜索就可以了,但这意味着每次运行程序时都会创建一个重复的“默认”用户,这显然是一个不需要的function,我可以’执行查询以检查数据库是否为空(因此我只能在程序的第一次运行时创建默认用户),因为这是我首先遇到的问题! 那么,对于使用ObjectDB的任何人来说,有没有办法可以处理搜索空数据库的情况? 这是我的代码的相关部分: public class FrameLogIn extends JFrame { private JPanel contentPane; private String username; char[] password; private static EntityManager em; /** * Launch the application. */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { FrameLogIn frame […]

将ARRAY传递给存储过程时出现死锁

在将ARRAY发送到stord proc时,我们正在获得java级死锁。 我正在附加线程转储。 Found one Java-level deadlock: ============================= “http-bio-8080-exec-11”: waiting to lock monitor 0x00000000406fb2d8 (object 0x00000000fea1b130, a oracle.jdbc.driver.T4CConnection), which is held by “http-bio-8080-exec-4” “http-bio-8080-exec-4”: waiting to lock monitor 0x00000000407d6038 (object 0x00000000fe78b680, a oracle.jdbc.driver.T4CConnection), which is held by “http-bio-8080-exec-11” Java stack information for the threads listed above: =================================================== “http-bio-8080-exec-11”: at oracle.sql.TypeDescriptor.getName(TypeDescriptor.java:682) – waiting to lock (a […]

@Transactional如何影响Hibernate中的当前会话?

这是大多数DAO中使用的典型设置: @Transactional @Repository public class DAO { @Autowired SessionFactory sessionFactory; public void save(Entity o) { sessionFactory.getCurrentSession().save(o); } public Entity load(int id) { return (Entity)sessionFactory.getCurrentSession().get(Entity.class, id); } } 我看到只调用了getCurrentSession() ,没有openSession或者close 。 因此,当我从load返回实体时,它不在会话中,懒惰的集合无法加载。 同样,保存似乎总是冲洗! 来自spring的@Transactional注释是否完成了打开和关闭会话和事务的魔力?

具有多个数据源Oracle和H2的Spring Boot

我为我的角项目开发了一个Spring Boot RestController并遇到了问题。 在我的rest服务逻辑中,我使用了两个不同的数据库来获取数据。 在这里您可以看到数据源配置: [application.properties] #datasource1 spring.datasource.url=[url] spring.datasource.username=[username] spring.datasource.password=[password] spring.datasource.driverClassName=org.h2.Driver #datasource2 spring.secondDatasource.url=[url] spring.secondDatasource.username=[username] spring.secondDatasource.password=[password] spring.secondDatasource.driverClassName=oracle.jdbc.OracleDriver [DatasourceConfig.java] @Bean @Primary @ConfigurationProperties(prefix=”spring.datasource”) public DataSource h2DataSource() { return DataSourceBuilder.create().build(); } @Bean @ConfigurationProperties(prefix=”spring.secondDatasource”) public DataSource oracleDataSource() { return DataSourceBuilder.create().build(); } 记录输出:(此问题不会引发exception) … 2016-11-22 13:20:25.853 [INFO ] 1 [main] dbsApplication : Started Application in 7.757 seconds (JVM running for 12.515) […]

调用DataSource.getConnection不返回预期的连接

我有以下代码: Hashtable env1 = new Hashtable(); env1.put(javax.naming.Context.INITIAL_CONTEXT_FACTORY,”com.ibm.websphere.naming.WsnInitialContextFactory”); log.info(“Executed step 1”); env1.put(javax.naming.Context.PROVIDER_URL, “iiop://myhost.com:9301”); log.info(“Executed step 2”); Context ctx = new InitialContext(env1); DataSource ds = (DataSource)ctx.lookup(“jdbc/mydatasource”); log.info(“Excecuted lookup =”+ds); conn = ds.getConnection(); 我在连接到WAS 6.1.0.3的独立应用程序中有以前的代码,以便从数据源检索连接。 代码非常简单,我看到相同的代码在不同的环境中工作,但在这种情况下,当我调用getConnection时,我得到一个exception。 数据源是WAS具有正确的身份validation别名集,并且在测试连接时,它可以从WAS端正常工作,但之前的代码将无法正常工作。 如果我改变这一行: conn = ds.getConnection(); 对此: conn = ds.getConnection(“username”,“password”); 然后代码将工作! 但这不是我想要的,因为数据源中的连接应该已经设置了凭据。 我最初认为这是一个Sybase问题,但它也发生在Oracle上,所以宁愿说我有WAS问题。 如果您对exception感到好奇,对于Sybase,我得到: java.sql.SQLException: JZ004: User name property missing in DriverManager.getConnection(…, Properties).DSRA0010E: […]

有关hibernate的复合模式的帮助

所以我被卡住了,我正在创建一个gwt web应用程序,我将使用树(gwt Tree和TreeItems)结构来显示文件夹列表(类Folder)和文件(类FileLocation),文件夹和filelocation类将全部基于复合模式的类实现Hierarchy接口。 但我使用hibernate来存储我的数据,我正在使用注释将数据映射到数据库。 我的麻烦是我不知道如何注释我的界面。 你有没有人使用复合模式,同时用hibernate持久化数据 public interface Hierarchy(){ // a few abstract methods that will be implemented by the sub classes } @Entity @Table() public class Folder implements Serializable, Hierarchy { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = “folder_id”, updatable = false, nullable = false) private int id; @OneToMany(cascade = CascadeType.ALL,fetch = FetchType.EAGER) @JoinTable(name = […]