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.
java project