到目前为止,我已完成以下步骤:
1.在命令行中启动Glassfish。
2.访问GlassFish URL以设置其连接池名称(CIS4278)。
3.设置数据库名称(CIS4278)并设置用户名,密码和其他属性。
4.处理JDBC连接资源(称为jdbc / arivera)并将其与我的CIS4278池连接。
5.处理我项目的WEB-INF文件夹中的persistence.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0"
xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
<persistence-unit name="cis4278" transaction-type="JTA">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<jta-data-source>jdbc/arivera</jta-data-source>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="javax.persistence.schema-generation.database.action"
value="drop-and-create"/>
<property name="javax.persistence.schema-generation.create-source"
value="metadata"/>
<property name="javax.persistence.schema-generation.drop-source"
value="metadata"/>
<property name="javax.persistence.jdbc.user" value="APP"/>
<property name="javax.persistence.jdbc.password" value="APP"/>
</properties>
</persistence-unit>
</persistence>
现在我尝试使用我创建的这个Java文件在Glassfish中创建一个表:
package edu.ndnu.arivera;
import java.sql.*;
import javax.sql.*;
import javax.annotation.Resource;
public class dbCreate{
@Resource(name="jdbc/arivera") DataSource ds;
public void connectAndQueryDB(String username, String password)
{
Connection con = ds.getConnection();
Statement stmt = con.CreateStatement();
stmt.executeQuery("CREATE TABLE Voter (firstName varchar(30),lastName varchar(30), address varchar(30), city varchar(30), state varchar(30), zip varchar(30), phone varchar(30), affil varchar(30))");
con.close();
}
}
然而,当我尝试在命令行中编译时,我收到此错误:
[ERROR] /home/student/ContestedCounty/src/main/java/edu/ndnu/arivera/dbCreate.java:[13,21] cannot find symbol
[ERROR] symbol: method CreateStatement()
[ERROR] location: variable con of type java.sql.Connection
此外,对于这个错误,我不确定我是否正在以正确的方式创建一个表。
我没有使用Netbeans,因此没有简单的UI可以简单地创建表格。我认为用我的其余代码编译这个java文件会在我在其他Java-EE / XTHML文件中调用该方法时创建Table。
如果我的思维过程有误,我该怎么做才能正确创建一张桌子?感谢。
答案 0 :(得分:3)
找不到符号:方法类型为java.sql.Connection的CreateStatement()
Java方法名称(以及所有其他标识符)区分大小写。
应该是
con.createStatement(); // lower-case "c"