| | |
mock credit card with mysql & filewriter
Thread Solved |
•
•
Join Date: Aug 2007
Posts: 238
Reputation:
Solved Threads: 0
Java Syntax (Toggle Plain Text)
public static Connection getConnection(){ if(connection==null){ try{ Class.forName("org.gjt.mm.mysql.Driver"); connection=DriverManager.getConnection("jdbc:mysql://localhost:8084","root","ceyesuma"); }catch(Exception exc){ connection=null;} } return connection; }
Here is the bean to get connected. Should this work?
Java Syntax (Toggle Plain Text)
package db; import java.sql.*; import java.sql.DriverManager; import java.sql.Connection; /** * * @author James */ public class DBConnection { static String dbdriver; static String connURL; static String dbusername=""; static String dbpassword=""; static Connection connection=null; /** Creates a new instance of DBConnection */ public DBConnection() { } public String getDbdriver(){ return dbdriver; } public String getConnURL(){ return connURL; } public String getDbusername(){ return dbusername; } public String getDbpassword(){ return dbpassword; } public void setDbdriver(String dbdriver){ DBConnection.dbdriver=dbdriver; } public void setConnURL(String url){ DBConnection.connURL=url; } public void setDbusername(String dbusername){ DBConnection.dbusername=dbusername; } public void setDbpassword(String dbpassword){ DBConnection.dbpassword=dbpassword; } public static Connection getConnection(){ if(connection==null){ try{ Class.forName("org.gjt.mm.mysql.Driver"); connection=DriverManager.getConnection("jdbc:mysql://localhost:8084","root","ceyesuma"); }catch(Exception exc){ connection=null;} } return connection; } }
Java Syntax (Toggle Plain Text)
package creditcard; import db.DBConnection; import java.lang.Object.*; import java.io.*; import java.sql.*; import java.util.Date; import tio.*; import java.io.File.*; import java.io.IOException; class CreditCard { private long AccountNo; private double CreditLimit; public double TotalCharges; public double TotalPayments; private double Amount; private int TransResult; private String TransErr; private String Description; private String log=null; private String date; private FormattedWriter out; private Statement stm = null; private ResultSet rst = null; private String tableName = "acctdata"; private String x; private String query; private DBConnection db; private Connection Conn; public CreditCard( ) throws FileNotFoundException, IOException { newAccount(); CreditLimit = 1000; TotalCharges = 0; TotalPayments =0; } public CreditCard(long AccountNo) throws FileNotFoundException, IOException { this.AccountNo = AccountNo; CreditLimit = 1000; TotalCharges = 0; TotalPayments =0; //validate AccountNO } private void accountStatus() throws IOException{ String f = "CC_Num_status.txt"; File file = new File(f); FormattedWriter fw=new FormattedWriter(f); if(f!=null){ fw.printfln("Account: " + accountNumber()); fw.printfln("Credit Limit: " + creditLimit()); fw.printfln("Available Credit: " + Available()); fw.printfln("Outstanding Balance: " + Balance()); fw.printfln("Charge: " + Amount); fw.printfln("Description; " + Description); fw.printfln("payment: " + Amount); fw.printfln("Total Charges: " + TotalCharges); fw.printfln("Total Payments " + TotalPayments); //fw.printfln("\n"); // fw.printfln("Transaction (0=Quit, +$=charge, -$=payment, 9999=Limit increase): "); } } private void newAccount() throws FileNotFoundException, IOException { double r = Math.random(); AccountNo = (long)(r * 100000000); } public long accountNumber() { return AccountNo; } private void writeLog(double Amount, String Description) throws FileNotFoundException, IOException, SQLException { this.AccountNo = AccountNo; Date dt = new Date(); dt.getTime(); String f = "CC" + AccountNo + ".txt"; File log = new File(f); FormattedWriter out = new FormattedWriter(new FileWriter(log,true)); out.printfln(AccountNo); out.printfln(dt.toString()); out.printfln(Amount); out.printfln(Description); out.close(); setData(); } public String getTableName(){ return tableName; } public void setTableName(String tableName){ this.tableName = tableName; } public String getData() throws SQLException{ if(tableName==null || tableName.equals("")){ return ""; } return x; } public void setData() throws SQLException{ if(tableName==null || tableName.equals("")){ return; } Connection conn =null; db.getConnection(); String query = "INSERT INTO"+tableName+" VALUES(11111112,'2000-7-3',50,'THIS',25"; Statement stm= conn.createStatement(); stm.executeUpdate(query); } public double creditLimit() { return CreditLimit; } public void creditIncrease()throws FileNotFoundException, IOException{ TransResult = 0; if (Math.random() > .25) { CreditLimit += 100; accountStatus(); } else { System.out.println("Sorry, credit increase not possible at this time."); TransResult = 1; } } public double Available() { double Available = CreditLimit - ( TotalCharges - TotalPayments ); return Available; } public double Balance() { double Balance = ( TotalCharges - TotalPayments ); return Balance; } public void Transaction( double Amount, String Description ) throws FileNotFoundException, IOException, SQLException { TransResult = 0; if ( Amount == 0 ) { TransResult = 1; TransErr = "Transaction amount is 0."; return; } if ( Amount > Available() ) { TransResult = 1; TransErr = "Transaction amount of $" + Amount + " has exceeded the available credit limit $" + Available(); return; } if ( Description == "" ) { TransResult = 1; TransErr = "No transaction description entered."; return; } if ( Amount > 0 ) { TotalCharges += Amount; accountStatus(); writeLog(Amount, Description); } else if ( Amount < 0 ) { TotalPayments += -(Amount); accountStatus(); writeLog(Amount, Description); } } }
Java Syntax (Toggle Plain Text)
/* * DBConnection.java * * Created on September 11, 2007, 11:50 AM * * To change this template, choose Tools | Template Manager * and open the template in the editor. */ package db; import java.sql.*; import java.sql.DriverManager; import java.sql.Connection; /** * * @author James */ public class DBConnection { static String dbdriver; static String connURL; static String dbusername=""; static String dbpassword=""; static Connection connection=null; /** Creates a new instance of DBConnection */ public DBConnection() { } public String getDbdriver(){ return dbdriver; } public String getConnURL(){ return connURL; } public String getDbusername(){ return dbusername; } public String getDbpassword(){ return dbpassword; } public void setDbdriver(String dbdriver){ DBConnection.dbdriver=dbdriver; } public void setConnURL(String url){ DBConnection.connURL=url; } public void setDbusername(String dbusername){ DBConnection.dbusername=dbusername; } public void setDbpassword(String dbpassword){ DBConnection.dbpassword=dbpassword; } public static Connection getConnection(){ if(connection==null){ try{ Class.forName(dbdriver).newInstance(); Class.forName("org.gjt.mm.mysql.Driver"); connection=DriverManager.getConnection("jdbc:mysql://localhost:8080","root","ceyesuma"); }catch(Exception exc){ connection=null;} } return connection; } }
Java Syntax (Toggle Plain Text)
DROP DATABASE IF EXISTS ccdb; CREATE DATABASE ccdb; USE ccdb; CREATE TABLE acctData ( AccountNo long Primary Key, transdate char(20), chrg double, transdesc VARCHAR(100), pymnt double) ); INSERT INTO acctData VALUES (99999999, '2000-7-3',30,'food',50);
Java Syntax (Toggle Plain Text)
package creditcard; //Credit Card Test - tests CreditCard class import java.io.File; import java.io.IOException; import java.io.RandomAccessFile; import tio.*; class CreditCardTest { public static void main(String[] args) throws IOException { new CreditCardTest(); } public CreditCardTest() throws IOException{ int inval; long AccountNo; double tranval=-1; String transdesc = null; CreditCard cc; String f = "CC_Num_status.txt"; File file = new File(f); FormattedWriter fw=new FormattedWriter(f); System.out.println("Welcome to the Credit Card simulator!"); System.out.println("Existing Account, New Account, or Exit? (Existing Account=1, New Account=2, Exit=0): "); inval = Console.in.readInt(); if (inval == 0) return; if (inval == 1) { System.out.println("Existing Account; enter Account #: "); AccountNo = Console.in.readLong(); if (AccountNo == 0) return; cc = new CreditCard(AccountNo); } else { cc = new CreditCard(); } while (tranval != 0) { System.out.println("Account: " + cc.accountNumber()); System.out.println("Credit Limit: " + cc.creditLimit()); System.out.println("Available Credit: " + cc.Available()); System.out.println("Outstanding Balance: " + cc.Balance()); System.out.println("Charge: " + + tranval); System.out.println("Description; " + transdesc); System.out.println("payment: " + tranval); System.out.println("Total Charges: " + cc.TotalCharges); System.out.println("Total Payments " + cc.TotalPayments); System.out.println("\n"); System.out.println("Transaction (0=Quit, +$=charge, -$=payment, 9999=Limit increase): "); tranval = Console.in.readDouble(); if (tranval == 0) break; if (tranval == 9999) cc.creditIncrease(); else { if (tranval > 0) { System.out.println("Transaction description: "); transdesc = Console.in.readLine(); transdesc = Console.in.readLine(); } else transdesc = "payment"; cc.Transaction(tranval, transdesc); } } } }
Java Syntax (Toggle Plain Text)
Your code doesn't seem to be correct. It should be something thing like: package db; import java.sql.*; import java.sql.DriverManager; import java.sql.Connection; /** * * @author James */ public class DBConnection { private String connURL="jdbc:mysql://localhost:8084"; private String dbusername="root"; private String dbpassword="ceyesuma"; private String dbdriver= "org.gjt.mm.mysql.Driver"; private String dbname = "ccdb"; private static DBConnection connection=null; /** Creates a new instance of DBConnection */ private DBConnection() { } public String getDbdriver(){ return dbdriver; } public String getConnURL(){ return connURL; } public String getDbusername(){ return dbusername; } public String getDbpassword(){ return dbpassword; } public void setDbdriver(String dbdriver){ this.dbdriver=dbdriver; } public void setConnURL(String url){ this.connURL=url; } public void setDbusername(String dbusername){ this.dbusername=dbusername; } public void setDbpassword(String dbpassword){ this.dbpassword=dbpassword; } public void setDbname(String dbname){ this.dbname = dbname; } public String getDbname(){ return dbname; } public static DBConnection getInstance(){ if(connection==null){ connection = new DBConnection(); } return connection; } public Connection getConnection() throws Exception{ Connection connection = null; Class.forName(driver); connection = DriverManager.getConnection(connURL +"/" + dbname, dbusername, dbpassword); return connection; } }
Moreover, if you are creating a bean, why are you hardcoding the connection related params? Why don't you use the bean setters to initialize the values??
I posted another version of my program. I put everything except getting the connection in it. about creating bean : eventually I would like to reuse it (I think) right now I am not sure. Thanks though. Could you look at the connection new
Java Syntax (Toggle Plain Text)
private String dbdriver= "org.gjt.mm.mysql.Driver";
Java Syntax (Toggle Plain Text)
Connection id: 2 Current database: ccdb Current user: root@localhost SSL: Not in use Using delimiter: ; Server version: 5.0.41-community-nt MySQL Community Edition (GPL) Protocol version: 10 Connection: localhost via TCP/IP Server characterset: latin1 Db characterset: latin1 Client characterset: latin1 Conn. characterset: latin1 TCP port: 3306 Uptime: 7 hours 33 min 56 sec Threads: 1 Questions: 17 Slow queries: 0 Opens: 15 Flush tables: 1 Open tab les: 0 Queries per second avg: 0.001 -------------- mysql>
GO RAMS!
Last edited by ceyesuma; Sep 16th, 2007 at 4:08 pm. Reason: missing [code]
•
•
Join Date: Aug 2007
Posts: 80
Reputation:
Solved Threads: 10
Hi,
I have made some changes to the source code and made it work. You have to do the additional CreditCard related stuff yourself. In any case feel free to drop a message. Find the source in src.zip attached with this mail. If you do not understand it lemme know.
One thing more before you compile it, just verify the port where your mysql is running. In my case it is running on default port.
I have made some changes to the source code and made it work. You have to do the additional CreditCard related stuff yourself. In any case feel free to drop a message. Find the source in src.zip attached with this mail. If you do not understand it lemme know.
One thing more before you compile it, just verify the port where your mysql is running. In my case it is running on default port.
•
•
Join Date: Aug 2007
Posts: 238
Reputation:
Solved Threads: 0
•
•
•
•
Hi,
I have made some changes to the source code and made it work. You have to do the additional CreditCard related stuff yourself. In any case feel free to drop a message. Find the source in src.zip attached with this mail. If you do not understand it lemme know.
One thing more before you compile it, just verify the port where your mysql is running. In my case it is running on default port.
Java Syntax (Toggle Plain Text)
stm.createStatement(insert...)
3306 do I change
Java Syntax (Toggle Plain Text)
private String connURL="jdbc:mysql://localhost:8080";
I wanted to find out what
Java Syntax (Toggle Plain Text)
private String dbdriver= "org.gjt.mm.mysql.Driver";
thanks
Last edited by ceyesuma; Sep 17th, 2007 at 1:03 am.
•
•
Join Date: Aug 2007
Posts: 238
Reputation:
Solved Threads: 0
Wow. impressive code there. Like, is there a simple change I could make to insert a record ? My professor would fall out of his chair if I laid all that on him. I would have to tear that code apart to understand it yet at my first look it looks quiet through. If you recommend this as the best way to do it don't sweat it I will have to wait until I can study that one.
thanks
Have a good one.
thanks
Have a good one.
•
•
Join Date: Aug 2007
Posts: 80
Reputation:
Solved Threads: 10
Ok ! I thought you wanted a reusable bean so I made the changes that way.
However, I think you are missing to put the mysql jdbc driver in the classpath of your program.
You can download it from the following link : http://mysql.tonnikala.org/Downloads...a-5.0.7.tar.gz
Unzip it and you will find a mysql-connector-java-5.0.7.jar file. This jar contains the Drivers which will connect to the mySQL database.
As you asked you wanted to know about , it is one of the drivers which will help your java application to communicate to mysql database.
There are other drivers also available in the mysql-connector-java-5.0.7.jar file. I prefer using "com.mysql.jdbc.Driver".
You remember the code where you say This is where you are loading mysql driver into the JVM which will communicate with the underlying database. ccdb in your case.
Do not change the port no. Keep it to 3306 because it is the port where mySQL is running.
I suppose that you are also using Tomcat because you are messing up the port of mysql(3306) with that of Tomcat(8080).
However, I think you are missing to put the mysql jdbc driver in the classpath of your program.
You can download it from the following link : http://mysql.tonnikala.org/Downloads...a-5.0.7.tar.gz
Unzip it and you will find a mysql-connector-java-5.0.7.jar file. This jar contains the Drivers which will connect to the mySQL database.
As you asked you wanted to know about
Java Syntax (Toggle Plain Text)
private String dbdriver= "org.gjt.mm.mysql.Driver";
There are other drivers also available in the mysql-connector-java-5.0.7.jar file. I prefer using "com.mysql.jdbc.Driver".
You remember the code where you say
Java Syntax (Toggle Plain Text)
Class.forName("com.mysql.jdbc.Driver"); or Class.forName("org.gjt.mm.mysql.Driver");
Do not change the port no. Keep it to 3306 because it is the port where mySQL is running.
I suppose that you are also using Tomcat because you are messing up the port of mysql(3306) with that of Tomcat(8080).
![]() |
Similar Threads
- ecommerce credit card (ASP)
- How to set up User accounts w/Credit Card Payments? (eCommerce)
- Galactic Hacker (Geeks' Lounge)
- credit card validate (PHP)
- Newbie needs script to accept credit card (Existing Scripts)
Other Threads in the Java Forum
- Previous Thread: mock credit card with mysql & filewriter INSERT into mysql
- Next Thread: New in Java. Please help!
| Thread Tools | Search this Thread |
2dgraphics 3d @param affinetransform android api applet application arc arguments array arrays automation banking binary bluetooth byte chat chatprogramusingobjects class client code color compare component count database design detection eclipse eclipsedevelopment encryption error fractal game givemetehcodez graphics gridlayout gui guitesting helpwithhomework html ide if_statement image input integer interface j2me java java.xls javadesktopapplications javaprojects jni jpanel julia keytool keyword linux list loop macintosh map method methods mobile netbeans newbie object os pong problem producer program programming project projectideas read recursion reference replaysolutions rim scanner server set size sms sort sql string swing terminal threads transforms tree ui unicode validation web windows





