Q:

Como guardar la imagen de un perfil(del usuario) en una BD en MYSQL?

o algun otro ejemplo que al momento de cargar su perfil obtenga su foto.
Me imaginaba guardar mismo en el proyecto de mi app y cargar la foto de ahí pero no se como guardar una foto en mi mismo proyecto y que debo de hacer para determinar cual es del usuario logeado. No se si me di a entender

A:

Primero que todo, se pueden guardar archivos como datos binarios o bytes en una base de datos, pero no se debe de hacer NUNCA.
Lo correcto es que, si tienes una tabla llamada Usuario, y ese usuario tenga un campo llamado Foto, este campo sea de tipo de dato Text o String, para que, cuando el usuario guarde su foto de perfil, se guarde es la dirección con el nombre del archivo en donde este esta ubicado.

Digamos que en tu servidor (Que puede ser perfectamente tu computador personal o uno remoto) hay una carpeta donde se guardan las rutas /home/app/fotosApp/, en esta ruta se guardan todas las fotos de todos los usuarios. Cada nombre de cada archivo se verá identificado por el id del usuario, seguido la Hora y fecha en la que el usuario subió el archivo, quedando la ruta de la siguiente manera: /home/app/fotosApp/001-12042019-010705.jpg. Por lo cual, el usuario con el id 001 actualizó la foto de perfil el dia 12 del mes 04 del año 2019, en la hora 01:07:05 de la mañana. Por lo que, en el campo de Foto dentro de un registro de la tabla Usuarios, se crea un Text: "/home/app/fotosApp/001-12042019-010705.jpg", que hace referencia a la ruta de la foto.
Otra forma de hacerlo, y que además implica a la anterior, es crear una carpeta para cada usuario dentro del folder fotosApp, cada carpeta tiene como nombre el id del usuario, o algo que identifique a cada usuario fácilmente. Generalmente, como mentaba, es un ID o un código, correo, entre otros, por lo que, solo con guardar la fecha y ponerla como nombre de la foto funciona, por lo que, el Text que debería de ir en el campo Foto de la Tabla Usuarios para un usuario con el id 001, queda de la siguiente manera: "/home/app/fotosApp/001/12042019-010705.jpg". A mi parecer, esta forma es mejor, ya que se organizan todos los usuarios por carpeta, y cada carpeta contiene el registro de todas las fotos que el usuario ha establecido como foto de perfil.

Ahora, en el programa, para obtener la foto del usuario y colocarla en tu aplicación, lo que haces es:

Establecer conexión con tu base de datos, y realizar las consultas que necesites para obtener el campo de Foto de un usuario específico: SELECT Foto FROM Usuarios WHERE id=001;
Guardar esta consulta, en una variable del mismo tipo de dato que Foto, en este caso String: String dirFoto = obtenerFotoDB(int id);
Obtener la imagen y guardarla como un array de byte (byte[]), para posteriormente pintarla en un JPanel, JButton o en el componente que desees poner la imagen.

