Bom Dia!
Estou com problema aparentemente simples mas irritante vou passar os dados que acompanhamento.
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import br.com.soeirosantos.siteadmin.infra.ConnectionFactory;
import br.com.soeirosantos.siteadmin.modelo.ItemMenu;
public class ItemMenuDao {
public Long salvar(ItemMenu item_menu) {
String sql = "insert into item_menu(caminho,codigo,menu_id,nome,ordem)values(?,?,?,?,?)";
Connection connection = ConnectionFactory.getConnection();
PreparedStatement preparedStatement = null;
try {
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, item_menu.getCaminho());
preparedStatement.setString(2, item_menu.getCodigo());
preparedStatement.setLong(3, item_menu.getMenu().getId()); //null pointer exception
preparedStatement.setString(4, item_menu.getNome());
preparedStatement.setInt(5, item_menu.getOrdem());
preparedStatement.executeUpdate();
} catch (SQLException e) {
throw new RuntimeException(e);
} finally {
try {
if (preparedStatement != null && !preparedStatement.isClosed()) {
preparedStatement.close();
}
if (connection != null && !connection.isClosed()) {
connection.close();
}
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
//return id;
return null;
}
}
public class ItemMenu {
private Long id;
private String nome;
private String codigo;
private String caminho;
private Integer ordem;
private Menu menu;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getCodigo() {
return codigo;
}
public void setCodigo(String codigo) {
this.codigo = codigo;
}
public String getCaminho() {
return caminho;
}
public void setCaminho(String caminho) {
this.caminho = caminho;
}
public Integer getOrdem() {
return ordem;
}
public void setOrdem(Integer ordem) {
this.ordem = ordem;
}
public Menu getMenu() {
return menu;
}
public void setMenu(Menu menu) {
this.menu = menu;
}
}
public class ItemMenu {
private Long id;
private String nome;
private String codigo;
private String caminho;
private Integer ordem;
private Menu menu;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getCodigo() {
return codigo;
}
public void setCodigo(String codigo) {
this.codigo = codigo;
}
public String getCaminho() {
return caminho;
}
public void setCaminho(String caminho) {
this.caminho = caminho;
}
public Integer getOrdem() {
return ordem;
}
public void setOrdem(Integer ordem) {
this.ordem = ordem;
}
public Menu getMenu() {
return menu;
}
public void setMenu(Menu menu) {
this.menu = menu;
}
}
E por ultimo o main.
import java.util.Date;
import java.util.List;
import br.com.soeirosantos.siteadmin.modelo.ItemMenu;
import br.com.soeirosantos.siteadmin.modelo.Menu;
import br.com.soeirosantos.siteadmin.modelo.Pagina;
import br.com.soeirosantos.siteadmin.modelo.Site;
public class TesteDao {
public static void main(String[] args) {
PaginaDao dao = new PaginaDao();
Pagina p = new Pagina();
SiteDao siteDao = new SiteDao();
Site s = new Site();
s.setAtivo(true);
s.setCodigo("codigo");
s.setDataCriacao(new Date());
s.setNome("Nome");
s.setDescricao("descricao");
s.setId(1L);
siteDao.salvar(s);
MenuDao menudao = new MenuDao();
Menu m = new Menu();
m.setCodigo("SalvarCodigo");
m.setDataCriacao(new Date());
m.setNome("SalvarNome");
m.setSite(siteDao.buscarPorCodigo("codigo"));
menudao.salvar(m);
ItemMenu i = new ItemMenu();
ItemMenuDao idao=new ItemMenuDao();
i.setCaminho("caminho");
i.setCodigo("codigo");
//i.setMenu(menudao.buscarPorId(1L));
i.setNome("nome");
i.setOrdem(1);
idao.salvar(i);
}
}
Desde já muito obrigado!