Implementación DAO
En este paquete vamos a crear las clases que implementan nuestros DAO.Ahora vamos por su implementación, creamos el paquete com.tutosoftware.ecemexico.dao.impl
Creamos la clase CatTipoSangreDAOImpl
package com.tutosoftware.ecemexico.dao.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import com.tutosoftware.ecemexico.dao.CatTipoSangreDAO;
import com.tutosoftware.ecemexico.entity.CatTipoSangre;
import com.tutosoftware.ecemexico.util.CassandraUtil;
@Repository
public class CatTipoSangreDAOImpl implements CatTipoSangreDAO {
@Autowired
CassandraUtil cassandraUtil;
@Override
public List<CatTipoSangre> obtenerTipoSangre() {
// TODO Auto-generated method stub
String cql = "select * from cat_tipo_sangre";
List<CatTipoSangre> catTipoSangre= cassandraUtil.findAll(cql,CatTipoSangre.class);
return catTipoSangre;
}
public CatTipoSangre obtenerTipoSangre(int id) {
CatTipoSangre catTipoSangre = cassandraUtil.findById(id,CatTipoSangre.class);
return catTipoSangre;
}
}
La clase HistoriaClinicaDAOImpl
package com.tutosoftware.ecemexico.dao.impl;
import java.time.LocalDateTime;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import com.tutosoftware.ecemexico.dao.HistoriaClinicaDAO;
import com.tutosoftware.ecemexico.entity.HistoriaClinica;
import com.tutosoftware.ecemexico.util.CassandraUtil;
@Repository
public class HistoriaClinicaDAOImpl implements HistoriaClinicaDAO {
@Autowired
CassandraUtil cassandraUtil;
@Override
public void guardarHistoriaClinica(HistoriaClinica historia) {
// TODO Auto-generated method stub
cassandraUtil.create(historia);
}
@Override
public List<HistoriaClinica> buscarHistoriaPorIdPaciente(String idPaciente){
String cql= "select * from historiaclinica where id_paciente ='"+idPaciente+"' ALLOW FILTERING";
List<HistoriaClinica> historias = cassandraUtil.findAll(cql,HistoriaClinica.class);
return historias;
}
@Override
public HistoriaClinica buscarHistoriaPorIdPacienteFecha(String idPaciente,LocalDateTime fecha) {
String cql="select * from historiaclinica where id_paciente='"+idPaciente+"' and fecha ='"+fecha+"' ";
System.out.println(cql);
HistoriaClinica historia = cassandraUtil.findOne(cql,HistoriaClinica.class);
return historia;
}
}
La clase NotasEvolucionDAOImpl
package com.tutosoftware.ecemexico.dao.impl;
import java.time.LocalDateTime;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import com.tutosoftware.ecemexico.dao.NotasEvolucionDAO;
import com.tutosoftware.ecemexico.entity.NotasEvolucion;
import com.tutosoftware.ecemexico.util.CassandraUtil;
@Repository
public class NotasEvolucionDAOImpl implements NotasEvolucionDAO {
@Autowired
CassandraUtil cassandraUtil;
@Override
public void guardarNotasEvolucion(NotasEvolucion nota) {
// TODO Auto-generated method stub
cassandraUtil.create(nota);
}
@Override
public List<NotasEvolucion> buscarNotasPorIdPaciente(String idPaciente) {
// TODO Auto-generated method stub
String cql= "select * from notasevolucion where id_paciente ='"+idPaciente+"' ALLOW FILTERING";
List<NotasEvolucion> notas = cassandraUtil.findAll(cql,NotasEvolucion.class);
return notas;
}
@Override
public NotasEvolucion buscarNotaPorIdPacienteFecha(String idPaciente, LocalDateTime fecha) {
// TODO Auto-generated method stub
String cql="select * from notasevolucion where id_paciente='"+idPaciente+"' and fecha ='"+fecha+"' ";
NotasEvolucion nota = cassandraUtil.findOne(cql,NotasEvolucion.class);
return nota;
}
}
La clase PacienteDAOImpl
package com.tutosoftware.ecemexico.dao.impl;
import java.util.List;
import java.util.UUID;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import com.tutosoftware.ecemexico.dao.PacienteDAO;
import com.tutosoftware.ecemexico.entity.Alergia;
import com.tutosoftware.ecemexico.entity.Paciente;
import com.tutosoftware.ecemexico.model.NombreCompleto;
import com.tutosoftware.ecemexico.util.CassandraUtil;
@Repository
public class PacienteDAOImpl implements PacienteDAO{
@Autowired
CassandraUtil cassandraUtil;
@Override
public void guardarPaciente(Paciente paciente){
cassandraUtil.create(paciente);
}
@Override
public Alergia mostrarAlergia(String idPaciente) {
Alergia alergia = cassandraUtil.findById(idPaciente,Alergia.class);
return alergia;
}
@Override
public void guardarAlergia(Alergia alergia){
cassandraUtil.create(alergia);
}
@Override
public Paciente buscarExpedientePorIdPaciente(String idUsuario) {
Paciente paciente = new Paciente();
UUID uid = UUID.fromString(idUsuario);
paciente = cassandraUtil.findById(uid, Paciente.class);
return paciente;
}
@Override
public List<Paciente> buscarExpedientePorCurp(String curp){
String cql= "select * from paciente where curp ='"+curp+"' ALLOW FILTERING";
List<Paciente> pacientes = cassandraUtil.findAll(cql,Paciente.class);
return pacientes;
}
@Override
public List<Paciente> buscarExpedientePorNombre(NombreCompleto nc){
String cql= "select * from paciente where nombre='"+nc.getNombre()+"' and apellido_paterno='"+
nc.getApellidoPaterno()+"' and apellido_materno='"+nc.getApellidoMaterno()+"' ALLOW FIlTERING";
List<Paciente> pacientes = cassandraUtil.findAll(cql,Paciente.class);
return pacientes;
}
@Override
public Paciente updatePaciente(Paciente paciente) {
return cassandraUtil.update(paciente);
}
@Override
public Alergia updateAlergia(Alergia alergia) {
return cassandraUtil.update(alergia);
}
}
Te genera error por la clase modelo NombreCompleto
La clase RecetaDAOImpl
package com.tutosoftware.ecemexico.dao.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import com.tutosoftware.ecemexico.dao.RecetaDAO;
import com.tutosoftware.ecemexico.entity.Receta;
import com.tutosoftware.ecemexico.util.CassandraUtil;
@Repository
public class RecetaDAOImpl implements RecetaDAO {
@Autowired
CassandraUtil cassandraUtil;
@Override
public void guardarReceta(Receta receta) {
// TODO Auto-generated method stub
cassandraUtil.create(receta);
}
@Override
public List<Receta> buscarRecetaIdPaciente(String idPaciente) {
// TODO Auto-generated method stub
String cql= "select * from receta where id_paciente ='"+idPaciente+"' ALLOW FILTERING";
List<Receta> recetas = cassandraUtil.findAll(cql,Receta.class);
return recetas;
}
@Override
public Receta buscarRecetaIdPacienteNumeroReceta(String idPaciente, String numero) {
// TODO Auto-generated method stub
String cql="select * from receta where id_paciente='"+idPaciente+"' and numero_receta ='"+numero+"' ";
Receta receta = cassandraUtil.findOne(cql,Receta.class);
return receta;
}
}
La clase UsuarioDAOImpl
package com.tutosoftware.ecemexico.dao.impl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import com.tutosoftware.ecemexico.dao.UsuarioDAO;
import com.tutosoftware.ecemexico.entity.Usuario;
import com.tutosoftware.ecemexico.util.CassandraUtil;
@Repository
public class UsuarioDAOImpl implements UsuarioDAO {
@Autowired
CassandraUtil cassandraUtil;
@Override
public Usuario obtenerUsuario(String email) {
// TODO Auto-generated method stub
System.out.println("email dao:"+email);
String cql = "select * from usuario where email = '"+email+"'";
Usuario usuario = cassandraUtil.findOne(cql,Usuario.class);
System.out.println("Usuario nombre:"+usuario.getNombre());
return usuario;
}
@Override
public void guardarUsuario(Usuario usuario) {
cassandraUtil.create(usuario);
}
@Override
public Usuario updateUsuario(Usuario usuario) {
return cassandraUtil.update(usuario);
}
@Override
public void deleteUsuario(String email) {
cassandraUtil.deleteById(email, Usuario.class);
}
}
Hasta este momento asi se veria el proyecto.