Como salvar dados de uma jtable no banco de dados ?

import java.awt.*;
import javax.swing.*;
import javax.swing.border.BevelBorder;
import javax.swing.border.Border;
import javax.swing.table.DefaultTableModel;

import com.mysql.jdbc.Blob;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.ParseException;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;

public class Tela_Sistema_de_Vendas<Row> extends JFrame implements ActionListener{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	private JButton bt_vender, bt_novo, bt_aplicar, bt_limpar, bt_sair;
	private JLabel l_cliente, l_produto, l_quantidade, l_dadosvenda,l_totalvenda, l_precovenda, imageprod;
	private JTextField c_cliente, c_produto, c_quantidade;
	private JPanel p1, p2, p3, p4, pbt;
	float calculo;
	int resposta;
	String precovenda;
	String host = "127.0.0.1";
    String user = "root"; 
    String password = "";
    String db = "eletronicworld";
	
	
	public Tela_Sistema_de_Vendas() {
		// TODO Auto-generated constructor stub
		setTitle("Sistema de Vendas");
		setBounds(10,100,1250,635);
		setResizable(false);
		setLayout(null);
		setDefaultCloseOperation(DISPOSE_ON_CLOSE);
		setIcon();

		l_dadosvenda = new JLabel("Dados da Venda");
		l_dadosvenda.setBounds(30,10,100,20);
		this.add(l_dadosvenda);
		
		l_cliente = new JLabel("Cliente");
		l_cliente.setBounds(40,50,50,20);
		this.add(l_cliente);
		
		l_produto = new JLabel("Produto");
		l_produto.setBounds(205,50,50,20);
		this.add(l_produto);
		
		l_quantidade = new JLabel("Quantidade");
		l_quantidade.setBounds(40,120,100,20);
		this.add(l_quantidade);
		
		l_totalvenda = new JLabel("Total da Venda");
		l_totalvenda.setBounds(730,10,85,20);
		l_totalvenda.setBackground(new Color(0,0,0));
		this.add(l_totalvenda);
		
		l_precovenda = new JLabel("R$ 00.00");
		l_precovenda.setBounds(690, 80, 250, 50);
		l_precovenda.setFont(new Font("Arial",Font.PLAIN,40));
		this.add(l_precovenda);
		
		imageprod = new JLabel();
		imageprod.setBounds(1000, 70, 200, 300);
		imageprod.setBorder(BorderFactory.createLineBorder(new Color(181, 181, 181),1));
		this.add(imageprod);
				
		c_cliente = new JTextField();
		c_cliente.setBounds(40, 75, 140, 20);
		this.add(c_cliente);
		
		c_produto = new JTextField();
		c_produto.setBounds(205,75,140,20);
		this.add(c_produto);
		
		c_quantidade = new JTextField();
		c_quantidade.setBounds(40, 145, 140, 20);
		this.add(c_quantidade);

		bt_aplicar = new JButton("Aplicar");
		bt_aplicar.setBounds(220,140,100,30);
		this.add(bt_aplicar);
		
		bt_novo = new JButton("Novo");
		bt_novo.setBounds(50,550,100,30);
		this.add(bt_novo);
		
		bt_vender = new JButton("Vender");
		bt_vender.setBounds(440,550,100,30);
		this.add(bt_vender);
		
		bt_limpar = new JButton("Limpar");
		bt_limpar.setBounds(180,550,100,30);
		this.add(bt_limpar);
		
		bt_sair = new JButton("Sair");
		bt_sair.setBounds(310,550,100,30);
		this.add(bt_sair);
				
		p1 = new JPanel();
		p1.setBounds(25,10,100,22);
		this.add(p1);
		
		p2 = new JPanel();
		p2.setBounds(10,20,430,180);
		p2.setBorder(BorderFactory.createLineBorder(new Color(181, 181, 181),1));
		this.add(p2);
		
		p3 = new JPanel();
		p3.setBounds(727,10,90,20);
		this.add(p3);
		
		p4 = new JPanel();
		p4.setBounds(592,20,340,180);
		p4.setBorder(BorderFactory.createLineBorder(new Color(181, 181, 181),1));
		this.add(p4);

		pbt = new JPanel();
		pbt.setBounds(30,540,530,50);
		pbt.setBorder(BorderFactory.createLineBorder(new Color(181, 181, 181),1));
		this.add(pbt);

		Border  softBevelRaisedBorder = BorderFactory.createSoftBevelBorder(BevelBorder.RAISED); 
		Border  softBevelLoweredBorder = BorderFactory.createSoftBevelBorder(BevelBorder.LOWERED);
		
		//criando tabelas
		//tentar criar outro select para jogar dados na tabela
				
			DefaultTableModel model = new DefaultTableModel(); 
			JTable tab = new JTable(model);
			JScrollPane scroll = new JScrollPane();
			scroll.setViewportView (tab);
			scroll.setBounds(10, 220, 925, 295);
			this.add(scroll);
			model.addColumn("C�digo"); 
			model.addColumn("Cliente"); 
			model.addColumn("Produto"); 
			model.addColumn("Fornecedor");
			model.addColumn("Quantidade");
			model.addColumn("Pre�o Unit�rio (R$)");
			model.addColumn("Pre�o Total (R$)");
		
			
			bt_aplicar.addActionListener(new ActionListener() {			
				public void actionPerformed(ActionEvent ev) {
					// TODO Auto-generated method stub
					if(c_cliente.getText().isEmpty()||c_produto.getText().isEmpty()||c_quantidade.getText().isEmpty())
					{
						JOptionPane.showMessageDialog(null, "Preencha todos os campos");
					}
					else{
						try 
                        {
						Class.forName("com.mysql.jdbc.Driver");
                        Connection connection = DriverManager.getConnection("jdbc:mysql://" + host + ":3306/" + db + "?autoReconnect=true",user,password); 
                        connection.setAutoCommit(false);
                        
                        //Crio a query
                        String sql = "select * from cadastrocliente where nome like ?";
                        String sql2 = "select * from cadastroproduto where produto like ?";
                        //String sql = "select * from filmes"; 
                        

                        //Crio o statement
                        PreparedStatement stmt = connection.prepareStatement(sql);

                        PreparedStatement stmt2 = connection.prepareStatement(sql2);
                        

                        //Passo parametro
                        stmt.setString(1, '%'+c_cliente.getText()+'%' );
                        stmt2.setString(1, '%'+c_produto.getText()+'%' );
                        
                        //Executo a query
                        ResultSet rseletronicworld = stmt.executeQuery();
                        ResultSet rseletronicworld2 = stmt2.executeQuery(); 
                        rseletronicworld.next();
                        rseletronicworld2.next();
                        
                        float n1 = Float.parseFloat(c_quantidade.getText());
						calculo = (float) (n1 * rseletronicworld2.getInt("precounitario")); 
						String cifrao2 = "R$ ";
                        //Mostro os dados
                        model.addRow(new Object[]{rseletronicworld2.getString("IDCod"),
                        						  rseletronicworld.getString("nome"),
                        						  rseletronicworld2.getString("produto"),
                        						  rseletronicworld2.getString("fornecedor"),
                        						  (c_quantidade.getText()),
                        						  rseletronicworld2.getFloat("precounitario"),
                        						  (calculo)});    
                        l_precovenda.setText(cifrao2+Float.toString(calculo));
                        
                        try{
                        	rseletronicworld = stmt.executeQuery();
                        	if(rseletronicworld.next()){
                        		Blob blob = (Blob) rseletronicworld.getBlob(1);
                        		ImageIcon imageicon = new ImageIcon(blob.getBytes(1, (int)blob.length()));
                        	}
                        } catch(SQLException e) {
                        	
                        }
                        
                                                                    
                        rseletronicworld.close(); 
                        connection.close();
                        
                } catch (ClassNotFoundException e) {
                        JOptionPane.showMessageDialog(null,"Erro! Driver JDBC n�o encontrado!");
                        e.printStackTrace();
                } catch (SQLException e) {
                		JOptionPane.showMessageDialog(null,"Erro! Campos preenchidos n�o identificados!");
                        e.printStackTrace();
                } 
				}
					}
				});
						
			bt_novo.addActionListener(new ActionListener() {
				public void actionPerformed(ActionEvent evto){	
					if(evto.getSource() == bt_novo){
						resposta = JOptionPane.showOptionDialog(null,"Deseja Cadastrar Novo Produto?","Cadastrar Produto",JOptionPane.YES_NO_OPTION, EXIT_ON_CLOSE, null, null, null);
						if (resposta == JOptionPane.YES_OPTION) {
							// verifica se o usu�rio clicou no bot�o YES
							dispose();
							try {
								Tela_Cadastro_Prod produtos = new Tela_Cadastro_Prod();
								produtos.setVisible(true);
							} catch (ParseException e) {
								// TODO Auto-generated catch block
								e.printStackTrace();
							} catch (ClassNotFoundException e) {
								// TODO Auto-generated catch block
								e.printStackTrace();
							} catch (SQLException e) {
								// TODO Auto-generated catch block
								e.printStackTrace();
							}							
							} 
					}
					//System.exit(0);
				}
			});
			
			bt_vender.addActionListener(new ActionListener() {
				public void actionPerformed(ActionEvent evto){	
					if(evto.getSource() == bt_vender){
						resposta = JOptionPane.showOptionDialog(null,"Deseja Vender Produto?","Vender Produto",JOptionPane.YES_NO_OPTION, DISPOSE_ON_CLOSE, null, null, null);
						if (resposta == JOptionPane.YES_OPTION) {
							try 
	                        {
							Class.forName("com.mysql.jdbc.Driver");
	                        Connection connection = DriverManager.getConnection("jdbc:mysql://" + host + ":3306/" + db + "?autoReconnect=true",user,password); 
	                        connection.setAutoCommit(false);
	                        
	                        for(int i=0;i<model.getRowCount();i++){
		                    	   
		                    	   String IDCod = (String) model.getValueAt(i,1);
		                    	   String cliente = (String) model.getValueAt(i,2);
		                    	   String produto = (String) model.getValueAt(i,3);
		                    	   String fornecedor = (String) model.getValueAt(i,4);
		                    	   Float quantidade = Float.parseFloat(model.getValueAt(i,5).toString()) ;
		                    	   Float precounitario = Float.parseFloat(model.getValueAt(i,6).toString()) ;
		                    	   Float precototal = Float.parseFloat(model.getValueAt(i,7).toString()) ;
		                       }
	                        
	                        //Crio a query
	                        String sql = "insert into sistemavenda(IDCod,cliente,produto,fornecedor,quantidade,precounitario,precototal) values (?,?,?,?,?,?,?)";
	                        //String sql = "select * from filmes"; 
	                        
	                        //Crio o statement
	                        PreparedStatement stmt = connection.prepareStatement(sql);

	                       int rseletronicworld = stmt.executeUpdate(); 
                            
                            connection.commit();
                            connection.close();
	                        
	                        }catch (ClassNotFoundException e) {
                                System.out.println("Erro! Driver JDBC n�o encontrado!");
                                e.printStackTrace();
                        } catch (SQLException e) {
                                System.out.println("Erro! Problemas realizando a conex�o ou a consulta!");
                                e.printStackTrace();
                        }							
							JOptionPane.showMessageDialog(null, "Venda Realizada com Sucesso!");	
							Tela_Relatorio_de_Vendas relatorio = new Tela_Relatorio_de_Vendas();
							relatorio.setVisible(true);
							}
						
					}
					
				}
				});
			
			bt_limpar.addActionListener(new ActionListener(){

				@Override
				public void actionPerformed(ActionEvent arg0) {
					// TODO Auto-generated method stub
					while(tab.getModel().getRowCount()>0){
						((DefaultTableModel) tab.getModel()).removeRow(0);
						String cifrao = "R$ 00.00";
						l_precovenda.setText(cifrao);
						
					}

					c_cliente.setText("");
					c_produto.setText("");
					c_quantidade.setText("");
				}
				});
			
			bt_sair.addActionListener(new ActionListener() {
				public void actionPerformed(ActionEvent evto){	
					if(evto.getSource() == bt_sair){	
						resposta = JOptionPane.showOptionDialog(null,"Tem Certeza que Deseja Sair?","Deseja Sair", JOptionPane.YES_NO_OPTION, DISPOSE_ON_CLOSE, null, null, null);
						if (resposta == JOptionPane.YES_OPTION) {
						// verifica se o usu�rio clicou no bot�o YES						
							dispose();
							} 		
					}
				}
			});
	}

	public void setIcon() {
		// TODO Auto-generated method stub
	setIconImage(Toolkit.getDefaultToolkit().getImage("Imagens/logoicon.png"));
	}
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Tela_Sistema_de_Vendas vendas = new Tela_Sistema_de_Vendas();
		vendas.setVisible(true);
		
		 try {
	            for (UIManager.LookAndFeelInfo info : 
	                    UIManager.getInstalledLookAndFeels()) {
	                if ("Windows".equals(info.getName())) {
	                    UIManager.setLookAndFeel(info.getClassName());
	                    break;
	                }
	            }
	        } catch (ClassNotFoundException ex) {
	            Logger.getLogger(Tela_Cadastro_Prod.class.getName()).log(Level.SEVERE,
	                    null, ex);
	        } catch (InstantiationException ex) {
	            Logger.getLogger(Tela_Cadastro_Prod.class.getName()).log(Level.SEVERE,
	                    null, ex);
	        } catch (IllegalAccessException ex) {
	            Logger.getLogger(Tela_Cadastro_Prod.class.getName()).log(Level.SEVERE,
	                    null, ex);
	        } catch (UnsupportedLookAndFeelException ex) {
	            Logger.getLogger(Tela_Cadastro_Prod.class.getName()).log(Level.SEVERE,
	                    null, ex);
	        }
	}

	@Override
	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		
	}

}

Olá para ficar mais facil o seu projeto implemente o seu próprio TabelModel pois com ele será muito facil realizar a manipulação dos dados da JTable, abaixo um link onde tem um exemplo completo da classe table model

http://respostas.guj.com.br/51335-atualizar--alguns-campos-do-jtable-utlizando-o-proprio-tabelmodel

após implementar este recruso você pode salvar os dados da jTable dessa maneira

TabelModelSuaClasse modelo = new TabelModelSuaClasse ();
// verifica se o modelo está populado
  if (modelo.getRowCount() >= 0) {

// cria uma lista para receber os dados da tabela.
 List<Clientes> listaClientes = modelo.getDataSet();

// este for é para varrer a lista e salvar no banco
 for (int i = 0; i < listaClientes .size(); i++){

//aqui voce passa os dados para sua camada DAO.

}

}