Java数据库应用程序
有人能帮我一下吗:我正在制作一个java数据库应用程序,我想把select、insert、update和delete的方法放在一个单独的类中,这样它们就可以从另一个类中调用并重用了。 到目前为止,在不使用prepared语句的情况下,我只分离了update和delete以及insert的方法。我遇到的问题是,在从数据库执行select操作时,如何返回数据并将其放入表中 以下是查询类中的更新和删除方法:Java数据库应用程序,java,database,Java,Database,有人能帮我一下吗:我正在制作一个java数据库应用程序,我想把select、insert、update和delete的方法放在一个单独的类中,这样它们就可以从另一个类中调用并重用了。 到目前为止,在不使用prepared语句的情况下,我只分离了update和delete以及insert的方法。我遇到的问题是,在从数据库执行select操作时,如何返回数据并将其放入表中 以下是查询类中的更新和删除方法: import java.sql.Connection; import java.sql.Res
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import com.Konekcija.Konekcija;
public class Queries {
Konekcija konekcija = new Konekcija();
public void updateTable(String sqlQuery){
Connection conn = null;
Statement st = null;
try{
Class.forName("com.mysql.jdbc.Driver");
conn = konekcija.getConn();
st = conn.createStatement();
st.executeUpdate(sqlQuery);
}catch(Exception e){
e.printStackTrace();
}finally{
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
st.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public void deleteFromTable(String sqlQuery){
Connection conn = null;
Statement st = null;
try{
Class.forName("com.mysql.jdbc.Driver");
conn = konekcija.getConn();
st = conn.createStatement();
st.executeUpdate(sqlQuery);
}catch(Exception e){
e.printStackTrace();
}finally{
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
st.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
另外,连接属性属于另一个类“Konekcija”返回“从表中选择”的数据
Class.forName("com.mysql.jdbc.Driver");
conn = konekcija.getConn();
st = conn.createStatement();
ResultSet rs=st.execute(sqlQuery);
//Instantiate user class
while (rs.next())
System.out.println("Name= " + rs.getString("moviename") + " Date= " + String fName = rs.getString("firstName");
User myUser=新用户();
myUser.setFirstName(fName);
}
注意:
此代码是手工输入的。可能存在语法错误。请把它作为起点尝试executeQuery方法。在“resultset”类的java文档中,您将找到一个示例:
您应该创建一个集合并用查询结果填充它,它应该看起来像:
List<Foo> selectFoos(Connection connection) throws SQLException {
PreparedStatement ps = connection.prepareStatement("select * from foo");
try {
ResultSet resultSet = ps.executeQuery();
try {
List<Foo> foos = new ArrayList<Foo>();
while (resultSet.next()) {
Foo foo = new Foo();
// use resultSet methods get... to retrieve data from current row of results
// and populate foo
foos.add(foo);
}
} finally {
resultSet.close();
}
} finally {
ps.close();
}
return foos;
}
List selectFoos(连接)抛出SQLException{
PreparedStatement ps=connection.prepareStatement(“从foo中选择*);
试一试{
ResultSet ResultSet=ps.executeQuery();
试一试{
List foos=new ArrayList();
while(resultSet.next()){
Foo-Foo=新的Foo();
//使用resultSet方法get…从当前结果行检索数据
//并填充foo
添加(foo);
}
}最后{
resultSet.close();
}
}最后{
ps.close();
}
返回foos;
}
我也在考虑这个问题,但我不知道该怎么做。@brano88:用例子更新了我的答案。