Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - jPallol1

#1
Java / Crud con Strut2 e hibernate
28 Marzo 2015, 17:04 PM
Estoy tratando de hacer un crud en Strud2 con hibernate y no consigo combinar dos tablas . Me puede ayudar

La 1 Tabla es Trama
Código (java) [Seleccionar]
@Entity
@Table(name="trama", catalog="bd_1")

public class Trama  implements java.io.Serializable {

    private int traNoca;         //Int
    private int catNoca;       //Enlace con categoria
    private String tradat;       //Dato sin importancia

   public Trama() {}

   public Trama(int traNoca, int catNoca, String tradat)
   {this.traNoca = traNoca;  this.catNoca = catNoca;  this.tradat = tradat;  }

    @Id    
   @Column(name="tra_noca", nullable=false)
    public int getTraNoca() {return this.traNoca;} ES
   public void setTraNoca(int traNoca) {this.traNoca = traNoca; }
   
   @Column(name="cat_noca", nullable=false)
   public int getCatNoca() {return this.catNoca;}
   public void setCatNoca(int catNoca) {this.catNoca = catNoca;}

   @Column(name="tra_dat", nullable=false, length=45)
   public String getTradat() {return this.tradat;}
   public void setTradat(String tradat) { this.tradat = tradat;  }

}



Este es Su mapeado

Código (xml) [Seleccionar]
<hibernate-mapping>
   <class name="entidad.Trama" table="trama" catalog="bd_1">
       <id name="TraNoca" type="int">
           <column name="tra_noca" />
          <generator class="assigned"></generator>
       </id>
       <property  name="CatNoca" type="int">
           <column name="cat_noca" />
        </property>  
       <property name="Tradat" type="string">
           <column name="cat_dat" length="50" />
       </property>
   </class>
</hibernate-mapping>


La 2 Tabla es Categoria que es la principal

Código (java) [Seleccionar]
package entidad;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name = "trama", catalog = "bd_1"   )

public class Categoria  implements java.io.Serializable {

    private int catNoca;
    private String catNom;
   
   public Categoria() {}

   public Categoria(int catNoca, String catNom)
   {this.catNoca = catNoca;   this.catNom = catNom;}
   
    @Id    
    @Column(name="cat_noca", nullable=false)
   public int getCatNoca() {return this.catNoca;}
   public void setCatNoca(int catNoca) {this.catNoca = catNoca;}

   @Column(name="cat_nom", nullable=false, length=45)
   public String getCatNom() {return this.catNom;}
   public void setCatNom(String catNom) { this.catNom = catNom; }    
}


Este es el Mapeado

Código (xml) [Seleccionar]
<hibernate-mapping>
   <class name="entidad.Categoria" table="categoria" catalog="bd_1">
       <id name="CatNoca" type="int">
           <column name="cat_noca" />
          <generator class="assigned"></generator>
       </id>    
       <property name="CatNom" type="string">
           <column name="cat_nom" length="50" />
       </property>
   </class>
</hibernate-mapping>


Y este es Strut2 que manda la orden

   
Código (java) [Seleccionar]
public  void detalle2(String noca,T entity) {

       Session session = HibernateUtil.getSessionFactory().openSession();
       Transaction beginTransaction = session.beginTransaction();
       session.createSQLQuery("select c.CatNoca, c.CatNom, t.CatNoca, t.TraNoca, t.CatNom, t.tradat  from Trama t INNER JOIN Categoria c ON t.CatNoca="+entity);  
       beginTransaction.commit();
       session.close();
}


La entidad me lo manda


Código (java) [Seleccionar]
package acciones;

import static com.opensymphony.xwork2.Action.INPUT;
import static com.opensymphony.xwork2.Action.SUCCESS;
import com.opensymphony.xwork2.ActionSupport;
import entidad.Categoria;
import java.util.List;
import servicio.ServicioCategoria;

public class CategoriaAction extends ActionSupport {

   private ServicioCategoria sc= new ServicioCategoria();
   private List<Categoria> lstCat;
   private Categoria cat;
   private String m;//NO IMPORTANTE PARA LA DUDA
   private String i;//NO IMPORTANTE PARA LA DUDA
   private Integer noca;

   @Override
   public String input() throws Exception {
       if (getNoca()!=null) {setCat(sc.find(noca));}
       return INPUT;}      
 
   public String detalle2() throws Exception {
       if (getNoca()!=null) {setCat(sc.find(noca)); }
      return INPUT;}  

   @Override
   public String execute() throws Exception {return SUCCESS;}
   public String save() {    sc.save(getCat());     return "ok"; }  
   public String remove(){    sc.remove(getNoca());    return "ok";    }
   public String list() throws Exception { lstCat=sc.findAll();  return execute();}
   public String search() throws Exception { lstCat = sc.search(m);return execute();}
   public String indice() throws Exception { lstCat = sc.search(i);return execute();}

   
   
   //<editor-fold defaultstate="collapsed" desc="Getter y Setter">  
   
   public ServicioCategoria getSc() {return sc; }  
   public void setSc(ServicioCategoria sc) {this.sc = sc;}

   public String getM() { return m;}
   public void setM(String m) {   this.m = m; }
   
   public String getI() { return i; }
   public void setI(String i) { this.i = i;}

   public Integer getNoca() { return noca; }
   public void setNoca(Integer noca) {this.noca = noca;}
   
   public Categoria getCat() {return cat;}
   public void setCat(Categoria cat) { this.cat = cat; }
   
   public List<Categoria> getLstCat() {return lstCat;}
   public void setLstCat(List<Categoria> lstCat) {this.lstCat = lstCat;}
   
 
//</editor-fold>
}


Ayudada por

Código (java) [Seleccionar]
public class ServicioCategoria extends AbstractFacade<Categoria> {

   public ServicioCategoria() {super(Categoria.class);}

   

   //CATEGORIA
   
   public List<Categoria> findAll() {return super.findAll();}
   public void save(Categoria cat) {super.createEdit(cat);}
   public void remove(int noca) {
       final Categoria find = super.find(noca);
       if (find!=null){
       super.remove(find);}
   }
   public Categoria find (int noca) {
       return super.find(noca);
   }
   
   //TRAMA  
}





Código (html4strict) [Seleccionar]
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
   <head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
       <title>JSP Page</title>
   </head>
   <body>
       <br/>
       <h2>Mopstrar Datos</h2>
       <s:iterator>
       <s:form action="categoriaDetalle2">
           <s:label label="Nombre" name="cat.catNoca" />
           <s:label label="Nombre" name="cat.catNom" />
           <s:label label="La 2 tabla" />
            <s:label label="Nombre de trama" name="tra.Tradat" />          
           <s:label label="Nombre de trama" name="tra.catNom" />    
       </s:form>    
       </s:iterator>
       
   </body>
</html>


El JSP SOLO MUESTRA los datos de la tabla categoria
No Consigo unir las tablas estoy desesperado

Mod: Usar etiquetas GeSHi.
#2
Desarrollo Web / Quisiera pasar de Php a j2ee
10 Febrero 2015, 13:19 PM
Quiero hacer una preesentacion en jsp de una select.
Pero quiero presentarla asi.
En cada Celda quiero un registro, que se vea en una tabla un total de x
registros (paguinacion incluida).

El codigo lo he encontrado en Php, pero no se como presentarlo en jsp

Pido ayuda por favor


Código (php) [Seleccionar]
//CODIGO DE PHP

<?PHP
$objConnect = mysql_connect("localhost","root","") or die(mysql_error());
$objDB = mysql_select_db("otaku");

$strSQL = "SELECT *FROM serie";

$objQuery = mysql_query($strSQL);
$Num_Rows = mysql_num_rows($objQuery);

$Per_Page = 8; // Per Page

@$Page = $_GET["Page"];
if(!@$_GET["Page"])
{
$Page=1;
}

$Prev_Page = $Page-1;
$Next_Page = $Page+1;

$Page_Start = (($Per_Page*$Page)-$Per_Page);
if($Num_Rows<=$Per_Page)
{
$Num_Pages =1;
}
else if(($Num_Rows % $Per_Page)==0)
{
$Num_Pages =($Num_Rows/$Per_Page) ;
}
else
{
$Num_Pages =($Num_Rows/$Per_Page)+1;
$Num_Pages = (int)$Num_Pages;
}

$strSQL .=" order by id_serie ASC LIMIT $Page_Start , $Per_Page";
$objQuery = mysql_query($strSQL);


echo"<table border=\"0\" width=\"50%\" align=\"center\" cellspacing=\"1\" cellpadding=\"1\"><tr>";
$intRows = 0;
while($objResult = mysql_fetch_array($objQuery))
{
echo "<td>";
$intRows++;
?>
<center><img with="150" height="150" src="..\<?=$objResult["imagen_principal"]; ?>"><br>
</br>
<span class="titulo"> <?=$objResult["Nombre"];?></span>

</br>
<span class="pequeño"><?=$objResult["Descripcion_p"];?></span><br />
</center>

<?php 
echo"<a href=\"eliminarserie.php?inombre='".$objResult['id_serie']."'\">ELIMINAR</a>

<a href=\"updateserie.php?inombre='"
.$objResult['id_serie']."'\">UPDATE</a> 
<a href=\"fichaserie.php?inombre='"
.$objResult['id_serie']."'\">FICHA</a>";?>

<?PHP
echo"</td>";
if(($intRows)%4==0)
{
echo"</tr>";
}
}
echo"</tr></table>";
?>

<br>
<span class="paginas">Total
<?= $Num_Rows;?> Record : <?=$Num_Pages;?> Page :</span>

<?PHP
if($Prev_Page)
{
echo " <a href='$_SERVER[SCRIPT_NAME]?Page=$Prev_Page'><< Back</a> ";
}

for($i=1; $i<=$Num_Pages; $i++){
if($i != $Page)
{
echo "[ <a href='$_SERVER[SCRIPT_NAME]?Page=$i'>$i</a> ]";
}
else
{
echo "<b> $i </b>";
}
}
if($Page!=$Num_Pages)
{
echo " <a href ='$_SERVER[SCRIPT_NAME]?Page=$Next_Page'>Next>></a> ";
}
?>

<?PHP
mysql_close($objConnect);
?> <br />
<a href="serie.php">INSERTAR NUEVO REGISTRO<br />
<a href="listar_galerias.php">Galerias
</a></p>
</body>
</html>


Mod: Etiquetas GeSHi OBLIGATORIAS.