0

I would like to return a connection to a Bean to make statements to mysql database "ccdb" I'm really not sure of

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?

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;
    }
    
}
2
Contributors
8
Replies
9
Views
9 Years
Discussion Span
Last Post by ceyesuma
0

You are required to mention the database name too which u r missing. Jst add the db name as given below

try{
Class.forName("org.gjt.mm.mysql.Driver");
connection=DriverManager.getConnection("jdbc:mysql://localhost:8084/ccdb","root","ceyesuma");

Edited by happygeek: fixed formatting

0

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??

0
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);
           
        }
    }

    

    
}
/*
 * 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;
    }
    
}

[code]

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);

Here is the rest of the program. This class test CreditCard

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);
                
            }
        }
    }
}
0

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;
    }
}

Edited by pyTony: fixed formatting

0

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 update thread?

0

You are making the same mistake. You are not giving the database name in your URL. Your URL should be jdbc:mysql://localhost:8084/ccbd

0
private String dbdriver= "org.gjt.mm.mysql.Driver";

this code is not reusable but for now it does make sense to be except the line above. i found that in an example and I am not sure it works for me I am using mysql

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>

Thanks
GO RAMS!

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.