Showing posts with label java. Show all posts
Showing posts with label java. Show all posts

Tuesday, March 15, 2016

Java SQL : Query with paramater

I use this class to run sql query with parameter


/* @author adam_crume
*/
public class NamedParameterStatement {
    /** The statement this object is wrapping. */
    private final PreparedStatement statement;

    /** Maps parameter names to arrays of ints which are the parameter indices. 
*/
    private final Map indexMap;


    /**
     * Creates a NamedParameterStatement.  Wraps a call to
     * c.{@link Connection#prepareStatement(java.lang.String) 
prepareStatement}.
     * @param connection the database connection
     * @param query      the parameterized query
     * @throws SQLException if the statement could not be created
     */
    public NamedParameterStatement(Connection connection, String query) throws 
SQLException {
        indexMap=new HashMap();
        String parsedQuery=parse(query, indexMap);
        statement=connection.prepareStatement(parsedQuery);
    }


    /**
     * Parses a query with named parameters.  The parameter-index mappings are 
put into the map, and the
     * parsed query is returned.  DO NOT CALL FROM CLIENT CODE.  This 
method is non-private so JUnit code can
     * test it.
     * @param query    query to parse
     * @param paramMap map to hold parameter-index mappings
     * @return the parsed query
     */
    static final String parse(String query, Map paramMap) {
        // I was originally using regular expressions, but they didn't work well for ignoring
        // parameter-like strings inside quotes.
        int length=query.length();
        StringBuffer parsedQuery=new StringBuffer(length);
        boolean inSingleQuote=false;
        boolean inDoubleQuote=false;
        int index=1;

        for(int i=0;i





example to use this class : 





...
                NamedParameterStatement p = new NamedParameterStatement(tempConn, "SELECT username, password FROM username WHERE username = :paramUsername");
                p.setString("paramUsername", txtUsername.getText());
                ResultSet tempRs = p.executeQuery();
...

Reference : http://www.javaworld.com/article/2077706/core-java/named-parameters-for-preparedstatement.html

Tuesday, May 26, 2015

Grails / GORM database mapping Money data type on Microsoft SQL Server

import java.math.BigDecimal
class Cloth {
    ...
    BigDecimal price
    ...
    static mapping = {
        price sqlType: "money"
    }
}

reference : https://msdn.microsoft.com/en-us/library/ms378878(v=sql.110).aspx
remember, grails is java too :D

Sunday, February 9, 2014

Java Play MP3 File

1. Download Java Media Framework (JMF) from : http://www.oracle.com/technetwork/java/javase/download-142937.html
2. Download MP3 Plugin from : http://www.oracle.com/technetwork/java/javase/download-137625.html or http://pscode.org/lib/mp3plugin.jar
3. Code for playing the mp3 file is like :


import javax.media.Manager;
import javax.media.Player;
import javax.media.Format;
import javax.media.MediaLocator;
import javax.media.PlugInManager;
import javax.media.format.AudioFormat;

...
        Format input1 = new AudioFormat(AudioFormat.MPEGLAYER3);
        Format input2 = new AudioFormat(AudioFormat.MPEG);
        Format output = new AudioFormat(AudioFormat.LINEAR);

        Format[] formatIn = new Format[2];
        formatIn[0] = input1;
        formatIn[1] = input2;

        Format[] out = new Format[1];
        out[0] = output;

        File mp3file = new File("a.mp3");

        PlugInManager.addPlugIn(
            "com.sun.media.codec.audio.mp3.JavaDecoder",
            formatIn,
            out,
            PlugInManager.CODEC
        );
        try{
            Player player = Manager.createPlayer(new MediaLocator(mp3file.toURI().toURL()));
            player.start();
        }
        catch(Exception ex){
            ex.printStackTrace();
        }
...

Monday, June 17, 2013

Create a loading image in Java desktop application

This code are equals with
Application.ProcessMessages
in Delphi or
Application.DoEvents
in VB

                     lblLoading.setVisible(true);  
                     new Thread(new Runnable() {  
                          private boolean done = false;  
                          @Override  
                          public void run() {  
                               // time consuming algorithm.  

                               done = true;  
                               if (done) {  
                                    SwingUtilities.invokeLater(new Runnable() {  
                                         @Override  
                                         public void run() {  
                                              lblLoading.setVisible(false);  
                                         }  
                                    });  
                               }  
                          }  
                     }).start();