내가 자바 데이터 액세스 작업을 시도하고, 내가 해낸이 :
당신이 (그것은 의
에 대해 어떻게 생각하십니까 말해 C에서 #도록 SqlConnection 같은 약간)자바 아날로그
import java.sql.*;
public class SqlConnection {
Connection connection;
public Connection GetConnection() {return connection;}
public void Connect(String cs, String user, String pass)
{
try {
Class.forName("net.sourceforge.jtds.jdbc.Driver");
connection = DriverManager.getConnection(cs, user, pass);
System.out.println("connected");
} catch (Exception e) {
e.printStackTrace();
}
}
public void Disconnect()
{
if(connection != null){
try {
connection.close();
} catch (SQLException e){
e.printStackTrace();
}
connection = null;
}
}
}
난 당신이 자바 JDBC를이 잘되어 배우고 싶은 경우에 나는이
public class MyDAL {
public Foo[] GetFoos()
{
SqlConnection conn = new SqlConnection();
PreparedStatement comm = null;
ResultSet rs = null;
try {
conn.Connect(cs, user, pass);
comm = conn.GetConnection()
.prepareStatement("SELECT * FROM foos");
rs = comm.executeQuery();
while (rs.next()) {
String s = rs.getString("name");
...
}
} catch (Exception e) {
e.printStackTrace();
}
finally
{
DBUtil.Close(rs);
DBUtil.Close(comm);
conn.Disconnect();
}
}
귀하의 질문에 명확하지 않습니다. 그게 좋은 접근 방법일까요? 그건 꽤 주관적이지만 최소한 연결을 필요로 할 때마다 (즉, 충분하다면) Class.forName을 호출 할 필요가 없으며 예외를 사용하여 고통을 느끼게 만듭니다. 코드가 맞는지 여부 아니요, 컴파일되지 않습니다. 당신은 조금 정리하고 당신이 묻고있는 것을 명확히 할 수 있습니까? –
어디서 Class.forName을 넣을 수 있습니까? 매번 eat을 호출 할 필요가 없습니다. (이 SqlConnection의 인스턴스를 많이 생성 할 것입니다.) – Omu