我正在学习java
和MVC
。
现在我试图将我的软件与数据库sqlite
连接起来。JAVA MVC访问数据库
我有我的Model
:
package model;
public class Station {
private String cnpj;
private String cep;
private String razao_social;
//Constructor
public Station(){
}
public Station(String cnpj, String cep, String razaoSocial){
this.cnpj = cnpj;
this.cep = cep;
this.razao_social = razaoSocial;
}
//Gets Setters
public String getCnpj() {
return cnpj;
}
public void setCnpj(String cnpj) {
this.cnpj = cnpj;
}
public String getCep() {
return cep;
}
public void setCep(String cep) {
this.cep = cep;
}
public String getRazao_social() {
return razao_social;
}
public void setRazao_social(String razao_social) {
this.razao_social = razao_social;
}
}
我有我的TableModel:
package model;
import java.util.ArrayList;
import javax.swing.table.AbstractTableModel;
public class TableModelStation extends AbstractTableModel{
private static final String[] columnNames = {"cnpj", "razao_social", "nome_fantasia", "bandeira", "endereco", "bairro", "cep", "imagem"};
private ArrayList<Station> stations;
public TableModelStation(){
stations = new ArrayList<>();
}
public void addStation(Station station){
this.stations.add(station);
fireTableDataChanged();
}
public void removeStation(int rowIndex){
this.stations.remove(rowIndex);
fireTableDataChanged();
}
@Override
public String getColumnName(int columnIndex){
return columnNames[columnIndex];
}
@Override
public int getRowCount() {
return this.stations.size();
}
@Override
public int getColumnCount() {
return columnNames.length;
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
switch(columnIndex){
case 0:
return this.stations.get(rowIndex).getCnpj();
case 1:
return this.stations.get(rowIndex).getRazao_social();
}
return null;
}
}
我想创建到数据库的连接,还编写SQL代码为我的模型(CRUD)。所以:
1)我应该创建另一个package
来分离连接吗?也许是Interface
?
2)我应该创建类似StationDAO
来实现我的模型CRUD
?
什么是正确的做法?遵循MVC
规则......我真的迷路了。
是的,它是一种更好的编码标准使用接口和分离的实现。使用一个单独的类来执行CRUD操作。而且,根据MVC规则而定。您的控制器将查找DAO类,然后填充模型类。 ANd,那么你可以显示在视图层分类的那些模型。 –