Bienvenido a Java Mexico

Java México es una comunidad de desarrolladores mexicanos en el lenguaje Java.

Este sitio es colaborativo, automáticamente al registrarte obtienes un Blog para compartir tus conocimientos o información acerca del lenguaje. Antes de publicar en tu blog o los foros por favor lee los lineamientos de publicación.

Para dudas y problemas con respecto al lenguaje Java puedes visitar los Foros de Discusión.

También puedes responder nuestra encuesta para saber en que estado vives!

OpenXava 5.1 liberado: Desarrollo rápido con Java

OpenXava es un marco de trabajo AJAX para desarrollo rápido de aplicaciones web empresariales.

Con OpenXava sólo has de escribir las clases del dominio con Java para obtener una aplicación web lista para producción.

Esta versión 5.1 tiene un montón de mejoras en las colecciones editables, de hecho ahora es posible hacer en una @ElementCollection practicamente lo mismo que una vista de detalle convencional. OpenXava 5.1 también incluye un nuevo editor para adjuntar varios archivos a tu entidad, soporte de Java 8 y muchísimas cosas más.

Te invitamos a que lo descargues y actualices tus aplicaciones OpenXava. Mira las instrucciones de migración.
 

Mejoras en colecciones editables (@ElementCollection)

Estas son las mejoras en las colecciones de elementos:

  • Mejorado el comportamiento AJAX con un rendimiento 10 veces mejor.

Ordenar un List<> ArrayList de objetos

Esta ocasión explicaré como ordenar una lista de tipo arraylist de objetos predeterminados.

Tengo mi clase del objeto Empleado.

package ordenarLista;

public class Empleado implements Comparable<Empleado> {
    private String nombre;
    private int edad;
    private String domicilio;

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public int getEdad() {
        return edad;
    }

    public void setEdad(int edad) {
        this.edad = edad;
    }

    public String getDomicilio() {
        return domicilio;
    }

    public void setDomicilio(String domicilio) {
        this.domicilio = domicilio;
    }
   
    @Override
     public int compareTo(Empleado o) {
        String a=new String(String.valueOf(this.getEdad())+this.getNombre());
        String b=new String(String.valueOf(o.getEdad())+o.getNombre());
        return a.compareTo(b);
    }
}

Observese la linea donde aparece el compareTo(), este método me permitirá ordenar mi lista según el criterio especifico. (Primero por Edad luego por Nombre).

 

Crear una aplicación web rápidamente usando Spring Boot

Estoy trabajando en un proyecto nuevo en el cual me dieron carta blanca para poder escoger con que trabajar. Lo que tuve bien en claro es que quería empezar a usar Java 8 y como ya tengo algo de experiencia con Spring decidi también usar este framework.

Si ustedes ya tienen experiencia usando Spring, saben que para usar Spring MVC hay que configurar muchas cosas antes de poder ver al menos una página web sencilla. Entre todo esto hay que configurar el deployment descriptor (i.e. el archivo web.xml); o si estan usando Java EE (Evil Edition?) con un contenedor que soporte el spec de Servlet 3.0+, igual necesitan configurar un WebApplicationInitializer.

Pero vamos, aunque hoy en día es posible configurar Spring sin usar una sola línea de XML sigue siendo mucho código por escribir solo para empezar (y ni siquiera he tocado el configurar otros frameworks como Hibernate, Thymeleaf, JSF, etc.).

Ayuda Formulario Login

Buen día compañeros el motivo de mi entrada es la siguiente, espero alguien pueda apoyarme.

tengo un formulario login tipico, pide usuario, contraseña un boton para entrar y uno para salir.

en mi clase tengo un metodo llamado acceder que es el siguiente.

void acceder(String usuario, String pass) {
        String usu = "";
        String pas = "";

        String sql = "SELECT * FROM usuario WHERE usuario='" + usuario + "' && password='" + pass + "'";
        try {
            Statement st = cn.createStatement();
            ResultSet rs = st.executeQuery(sql);
            while (rs.next()) {
                usu = rs.getString("usuario");
                pas = rs.getString("password");
            }

            if (usu.equals(usuario) && pas.equals(pass)) {
                this.setVisible(false);
                InterfacePrincipal principal = new InterfacePrincipal();
                principal.setVisible(true);
            } else {
                JOptionPane.showMessageDialog(null, "Usuario y/o Contraseña no Validos");
            }
        } catch (SQLException ex) {

Autocompletar con JSON(Gson), Ajax, jQuery, Servlets y PostgreSQL

¡¡¡ Hola !!!

Este es mi segundo aporte a esta comunidad, se trata de un trabajo que me dejaron en mi servicio social el cual se integra con una aplicación web la cual maneja una gran cantidad de datos (RFC de contribuyentes)...

Espero les sea útil esto y como he dicho antes cual quier mejora o error por favor coméntenlo. GRACIAS

Clase conexión y query´s

public class Model{
public ArrayList<String> getNombres(String nombre)throws Exception{
                 ArrayList<String> list = new ArrayList<String>();
                 String data;
                 try( Connection conn = DriverManager.getConnection("jdbc:postgresql://localhost:5432/BandasRock");              
                           PreparedStatement ps1 = conn.prepareStatement("SELECT * FROM nombres  WHERE  nombres LIKE ?");
                         
                           ResultSet rs = ps1.executeQuery()
                                       
                                 ) {
                                 
                                   ps1.setString(1, nombre + "%");
                                while (rs.next()) {
                                         data = rs.getString("nombres");
                         list.add(data);
                                }
                        } catch (SQLException e) {
                            e.getCause();
                        }
                 return list;
                 }
         
}

Servlet llamado "controlador" por el método GET

 

Ceylon 1.1.0 “Ultimate Ship The Second”

Ceylon 1.1.0 “Ultimate Ship The Second” listo para ser descargado.

"Listo"
shared void run(){
  print("Ceylon 1.1.0 Ultimate Ship The Second ");
}

Ceylon 1.1

Hoy liberamos la versión 1.1 de Ceylon:

http://ceylon-lang.org/blog/2014/10/09/ceylon-1/

Después de 10 meses de arduo trabajo, esta versión contiene una gran cantidad de correcciones (más de mil issues procesados), mejoras y optimizaciones, incluyendo:

  • Optimizaciones en ambos compiladores para reducir tiempos de compilación
  • Optimizaciones al IDE, para tener mejores tiempos de respuesta
  • Optimizaciones al código generado para un mejor desempeño del código ejecutable
  • Varios módulos nuevos en el SDK
  • Integración con vert.x
  • Interfaces dinámicas para el backend de JavaScript, de modo que se puedan asignar tipos estáticos a estructuras que cumplan con las características definidas en los mismos

Espero que lo prueben pronto, y nos den su opinión y comentarios.

Kata de palíndromos con Streams (en Scala)

Pues resulta y pasa que para una entrevista tuve que resolver un problema cuya definición (a lo que recuerdo) era:

Dada una lista de palabras, por cada elemento hacer lo siguiente:

  • Obtener una combinación de las letras de la palabra las cuales sea un palíndromo, i.e. una palabra que se lee indistinguiblemente al derecho o al revés; imprimirla en consola.
  • Si no se encuentra dicha combinación, imprimir "-1" en la consola.

E.g., teniendo la lista de palabras "racecar", "icicv", "dar", deberia de imprimirse algo como "racecar", "civic", -1.

Distribuir contenido