Retornar valores do banco com a mascara de valores monetários!

Olá, tenho essa classe para valores monetários que tirei do forum e funciona perfeitamente
quando vou digitar num jTextfiel, Veja a classe abaixo! e veja como chamo ela isso para no caso digitar!
mas como eu chamo essa mesma classe para os dados que devem ser atualizados do Banco de Dados,
para que coloque da mesma forma de como eu digito.

package utilitarios;

 import javax.swing.text.*;  
      
    public class ValoresMonetarios extends PlainDocument  
    {  
      
    public static final int NUMERO_DIGITOS_MAXIMO = 12;  
      
        @Override  
    public void insertString(int offs, String str, AttributeSet a) throws BadLocationException  
    {  
      String texto = getText(0, getLength());  
      for (int i = 0; i < str.length(); i++) {  
          char c = str.charAt(i);  
          if (!Character.isDigit(c)) {  
              return;  
          }  
      }  
      
       if(texto.length() < this.NUMERO_DIGITOS_MAXIMO){  
              super.remove(0, getLength());  
          texto = texto.replace(".", "").replace(",", "");  
          StringBuffer s = new StringBuffer(texto + str);  
      
       if (s.length() > 0 && s.charAt(0) == '0') {  
           s.deleteCharAt(0);  
       }  
      
       if(s.length() < 3) {  
         if (s.length() < 1) {  
             s.insert(0,"000");  
         }else if (s.length() < 2) {  
             s.insert(0,"00");  
       }else{  
        s.insert(0,"0");  
        }  
       }  
      
      s.insert(s.length()-2, ",");  
      
      if(s.length() > 6) {  
        s.insert(s.length()-6, ".");  
      }  
      
      if(s.length() > 10) {  
        s.insert(s.length()-10, ".");  
      }  
      
      super.insertString(0, s.toString(), a);  
      }  
    }  
      
      public void remove(int offset, int length) throws BadLocationException {  
        super.remove(offset, length);  
          String texto = getText(0, getLength());  
          texto = texto.replace(",", "0");  
          texto = texto.replace(".", "0");  
        super.remove(0, getLength());  
        insertString(0, texto, null);  
      }  
}

Aqui Chamo ela beleza funciona perfeitamente.

        tfValorUnitario.setDocument(new ValoresMonetarios());
        tfValorTotal.setDocument(new ValoresMonetarios());

Como faço para atualizar esses dados do banco porém com a mesma formatação de valores da qual el é salvo pro banco.
Obrigado desde já.