为数据库表创建单独的Java类合乎逻辑吗?
我在MS SQL Server 2012上的数据库中有5个不同的表。我已经为我的UserTable创建了类,并填写了如下所示的setter和getter,将其他表的setter和getter放在同一个杯子中是否合乎逻辑,或者使用setter和getter为其他表创建单独的类为数据库表创建单独的Java类合乎逻辑吗?,java,sql-server,database,jdbc,Java,Sql Server,Database,Jdbc,我在MS SQL Server 2012上的数据库中有5个不同的表。我已经为我的UserTable创建了类,并填写了如下所示的setter和getter,将其他表的setter和getter放在同一个杯子中是否合乎逻辑,或者使用setter和getter为其他表创建单独的类 import java.math.BigDecimal; import java.sql.Connection; public class UserFR17setget { Connection cn;
import java.math.BigDecimal;
import java.sql.Connection;
public class UserFR17setget {
Connection cn;
BigDecimal userID;
String UserName;
String UserPassword;
int UserSecurity;
BigDecimal ProjectID;
public BigDecimal getUserID() {
return userID;
}
public void setUserID(BigDecimal userID) {
this.userID = userID;
}
public String getUserName() {
return UserName;
}
public void setUserName(String UserName) {
this.UserName = UserName;
}
public String getUserPassword() {
return UserPassword;
}
public void setUserPassword(String UserPassword) {
this.UserPassword = UserPassword;
}
public int getUserSecurity() {
return UserSecurity;
}
public void setUserSecurity(int UserSecurity) {
this.UserSecurity = UserSecurity;
}
public BigDecimal getProjectID() {
return ProjectID;
}
public void setProjectID(BigDecimal ProjectID) {
this.ProjectID = ProjectID;
}
}
关于你基本上是自己实现了
JPA
的一部分。在JPA
中,一个类映射到一个数据库表,您可以根据实体而不是数据库表进行思考。您可能希望稍后再探讨这一点(除非您现在希望这样做)
如果您只想将数据库数据映射到对象中,那么有几个合理的选择。按照您现在所做的操作,使每个数据库表都有一个相关的类(User
是一个比UserFR17getset
更好的类名称),然后您可以将数据作为对象进行操作。更高级别的方法是让类引用其他表,这样您的用户
类将包含一个地址
引用(假设有一个表地址),并且在加载用户
时,它还将加载地址
。这与JPA
的工作原理类似,然后您可以执行单个“加载用户1”而不是“加载用户1,加载用户1的地址”。当然,您将负责实现实际加载(与JPA不同,JPA有很多自动化操作)
不过,不要将
连接
对象作为类的一部分,因为它与类无关。您应该在加载方法中使用Connection
对象,例如User u=loadUser(Connection,userId)代码>你在使用JPA吗?这完全取决于我可以将JPA与Ms Sql Server一起使用吗?目前我没有使用!同时检查此选项是的,您可以将JPA与MS Sql server和许多其他数据库一起使用。连接
对象实际上不属于该类。您是否有加载方法的示例!这是您和JDBCAPI之间的问题。有很多关于如何进行查询的教程。