/* @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
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
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).aspxremember, 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 :
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.ProcessMessagesin Delphi or
Application.DoEventsin 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();
Subscribe to:
Posts (Atom)