Connection object in other classes

i am writing a JDBC application. There will only be one user for this application.
I want to know whether i am doing it the right way.
Main program sets the connection to database and provides a static method getDBConnection()
which returns a Connection object .
All other programs have a public final variable which gets initialized with getDBConnection() method .
Is there any other way other programs can get connection to database?
I would appreciate any suggestions.
Thanks

sorry..
all the other classes have public static variable which gets initialized with static method(getDBConnection) of main class(the method returns a connection)

Similar Messages

  • How to store Connection object and call it from other programs.

    Hi,
    I am trying to connect to the database, store the connection object and use this connection object from other standalone java programs.
    Can any one tell me how to do this? I've tried in the following way:
    In the following program I am connecting to the database and saving the connection object in a variable.
    public class GetKT2Connection {
       public static void main(String[] args) {
          String url = "jdbc:odbc:SQLDsn;
          String dbUser = "sa";
          String dbPwd = "sa";
          Connection kt2conn = Connection connection = java.sql.DriverManager.getConnection(url, dbUser, dbPwd);
          if(kt2conn == null) {
             System.out.println("Database Connection Failure!");
          else {
             System.out.println("Connected to Database...");
         GetKTConnectionObj.storeKT2ConnectionObj(kt2conn);
    } Here is the program to save connection object in a variable.
    public class GetKTConnectionObj {
       static Connection kt2Connection = null;
       public static void storeKT2ConnectionObj(Connection conn) {
       kt2Connection = conn;
       public static Connection getKT2ConnectionObj() {
       try {
          return kt2Connection;
       catch(Exception e){
          System.out.println(e);
      return null;
    }Now from the following code I am trying to get the connection object that is stored. But this is throwing NullPointerException.
    public class Metrics_Migration {
      public static void main(String args[]) {
         try {
        java.sql.Connection connection_1 =   GetKTConnectionObj.getKT6ConnectionObj();
         catch(Exception e){
    }

    kt2Connection is null. You need to store it first, to make it not null. Otherwise it will stay null forever. And why on earth are you trying to do this THIS way?
    If you are running the two applications separately, it wont work either.

  • Getting the connection object in graph

    As part of Denormalizer component's Denormalize property where we have the logic of collapsing/denormalising the records we want to execute a sql query using PreparedStatement which requires Connection object.how do I get the connection object and execute a query.Can some one please share the java doc of the classes I can use.
    Do I get any class under org.jetel package which can be useful to get the Connection object.

    As part of Denormalizer component's Denormalize property where we have the logic of collapsing/denormalising the records we want to execute a sql query using PreparedStatement which requires Connection object.how do I get the connection object and execute a query.Can some one please share the java doc of the classes I can use.
    Do I get any class under org.jetel package which can be useful to get the Connection object.

  • Where to store the Connection object?

    Hi,
    I am using JDBC together with JSF technology to building web applications. I have the following questions:
    1. Where do we usually store the open Connection object so that every class in my web application can make use of it to update or retrieve database data?
    2. Since JSF uses managed-beans which is not a servlet itself, if I store the Connection object as an attribute in the application scope then it can only be retrieved from a servlet.
    3. If I make the Connection object on every class where I would like to have database access, it seems that it is not following good practice since this would create duplicate codes in every Java class which is going to have database access.
    Does anybody have an idea? Thank you.

    Hensome wrote:
    1. But how do I use the managed bean within a servlet? Could you write some simple sample codes?
    2. If I only use simple navigation rules and backing beans, when the submit button is clicked then the action method of the managed bean is triggered. I will then trigger the action which uses JDBC for database access. This whole process does not go through a particular servlet. Is this also possible? If yes, how?
    Thank you.the process does run through a particular servlet, it's the faces servlet and is defined by something that looks like
      <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>0</load-on-startup>
      </servlet> in your web.xml file. You don't have direct access to it, but you can save references to objects in the session or request so other objects can access it. Lets say that your faces code uses a DAO to read some data and you want to pass the data to a servlet, what you need to do something like:
         List data = myDAO.read();
         FacesContext facesContext = FacesContext.getCurrentInstance();
         HttpSession session = (HttpSession)facesContext.getExternalContext().getSession(true);
         session.setAttribute("myData", data);this will save the data object or list in the session as an attribute. Then, when the other servlet runs, you can do something like:
    public void doPost(HttpServletRequest request, HttpServletResponse response)
         throws ServletException, IOException {
         HttpSession session = request.getSession(false);
         Object obj  = session.getAttribute("myData");
         List myData = (List)obj;
    }          Now the servlet has access to the list of data read by the faces bean. You shouldn't directly access faces beans themselves from another servlet, you should instead access POJOs that you have defined or collections of them.

  • Serializing Connection Object ???

    hi,
    i wanna serialize a sun.jdbc.odbc.JdbcOdbcConnection object but it cant be .. as the exception says
    java.io.NotSerializableException: sun.jdbc.odbc.JdbcOdbcConnection
    Now my problem is that i m having 15 classes which are accessing to the same dataBase but different 15 tables .. and each class is creating a new connection object. I want any way through which instead of having 15 connection objects .. all classes access the one connetion object
    I m using JFrames and Access DBase ... plus 5 workstations will be using this application

    i have developed an application that will be used for data entry from 5 network terminals . ...
    The application is having 15 clases that are hitting the database to retrive data from 15 diffrerent tables .. so they are creating 15 connection objects ..
    Though its working fine but i was thinking to use the ONE CONNECTION object for all these clasess
    But the most serious issue i m facing now is the
    EXCEPTION_ACCESS_VIOLATION which i have also posted in the forum to find the remedy

  • Closing the Connection object

    I was looking at one of the database examples in a Java book I recently purchased. In their example they establish the connection in the class with the main. ( is this referred to as the Moment Interval? ) Anyway, they pass the private Connection connection object to another class called AddRecord which implements an ActionListener. In this class, the AddRecord Constructor changes the name to con which is also declared as private in this class. What they don't show is how to close the connection object now that it has a new name. How do I close the connection object.
    The example is using an Access mdb and when the appication is closed, the Access.ldb file is still there.
    Is there a better solution?
    Thanks everyone,
    Leo D.

    I'm sorry. I meant to say "Where" do I close the connection? If I close the connection in the AddRecord Class, then I won't be able to add another record. And I can't close the connection in the moment interval because I've declared the connection object in class AddRecord as Private. Should I give the connection object package access?
    Thanks,
    Leo D.

  • Sharing an object between other objects?

    I have two classes, say DisplayPanel and ControlPanel. Both of these classes need to have access to a single instance of an object of type Data, say theData. I want to be able to set theData to a new object at any time, for example, theData = new KindOfData().
    If I store a reference to theData in both objects, when I set theData to a new object in one class, the other will still reference the old object. Is there a way to share an object between two classes as I described?
    I could create a superclass for DisplayPanel and ControlPanel that contains an instance of Data, however I may need to access this object in other classes and do not want to have the inflexibility of having to extend a possibly unrelated class just to access a single data member.
    Is there any easy way to go about this? Thanks for your help.

    Create a listener interface. Make each class implement that interface. When you create each class, register it as a listener to theData. Keep track of all listeners in a List such as an ArrayList. When you want to change theData, iterate through the List and call the interface's method to update theData in each class:
    public interface SomeListener
       void updateData(KindOfData theData);
    public class DisplayPanel implements SomeListener
      private KindOfData theData;
      public void updateData(KindOfData newData)
         theData = newData;
    public class SomeOtherClass
       private List listenerList = new ArrayList();
       public void addDataListener(SomeListener listener)
            listenerList.add(listener);
       public void fireDataChange(KindOfData newData)
           for (Iterator listenerIter = listenerList.iterator();
                  listenerIter.hasNext();
               ((DataListener)listenerIter.next()).updateData(newData);
    }Look at how EventListeners are added and fired in Swing classes.

  • Update  address details of connection object

    Hi,
    I need a FM/BAPI to update address details of connection object.
    I'm currently using ADDR_UPDATE and 'ADDR_MEMORY_SAVE'  I'm able to successfully update 9 address lines.
    But not the telephone and fax number.
    Hence I need a FM/BAPI to specifically update telephone and fax number of connection object.
    Please suggest.
    Thanks.
    Priyanka Ashtekar

    hi,
    refer ti this link...
    Updating Connection Object Address

  • Connection Object Class Overview

    Hello Experts,
    I created a class (cl02) and  the related characteristics (ct04) to be used for connection objects.  I wonder if there is a way to make the class field in the Assignments section pre-filled (or  pre-selected) when creating the connection object, so that the user won't have to select this class to enter the characteristics. I used the standard class indicator but I had no luck.
    Thanks in advance!

    Hi Eren,
    You can do this kind of default value assignments into screen fields by implementing user exits.
    Please have a look at exits EXIT_SAPLES55_001 to EXIT_SAPLES55_011 residing under component  XES55.
    Regards,
    Dilek

  • Calling a object of class from other class's function with in a package

    Hello Sir,
    I have a package.package have two classes.I want to use object of one class in function of another class of this same package.
    Like that:
    one.java
    package co;
    public class one
    private String aa="Vijay";  //something like
    }main.java:
    package co;
    import java.util.Stack;
    public class main extends Stack
    public void show(one obj)
    push(obj);
    public static void main(String args[])
    main oo=new main();
    }when I compile main class, Its not compile.
    Its give error.can not resolve symbol:
    symbol: class one
    location: class co.main
    public void show(one obj)
                              ^Please help How that compile "Calling a object of class from other class's function with in a package" beacuse I want to use this funda in an application

    kumar.vijaydahiya wrote:
    .It is set in environment variable.path=C:\bea\jdk141_02\bin;.,C:\oraclexe\app\oracle\product\10.2.0\server\bin;. command is:
    c:\Core\co\javac one.javaIts compiled already.
    c:\Core\co\javac main.javaBut it give error.
    Both java classes in co package.Okay, open a command prompt and execute these two commands:
    // to compile both classes:
    javac -cp c:\Core c:\Core\co\*.java
    // to run your main-class:
    java -cp c:\Core co.main

  • Making object accesible from other class?

    hi all
    how can i have an object of class to be accesible from other class?
    thanks

    It's not clear what you mean by "object of class". Do you mean fields within an object. Do you mean using an object of one class within the code of another?
    For most named objectes in java, whether field, method or class, there are four levels of access.
    public means accessible from anywhere in the program
    private means accessible only from the same source file.
    protected means only from the class, or a class that extends it.
    or if you don't put any of these keywords it means accessible only from the same package, that is set of source files in a single directory.

  • Help required: Using objects/methods in other classes

    Hi
    Say you have a class that has a private string instance variable and you have a accessor and mutator method for this object in that class.
    You have another class that needs to access this object via the accessor and mutator methods. How do you do this? When I try I only get nullPointerExceptions or Stack Overflows!!! If anyone can provide some code on how to do this successfully then that will be most appreciated. Thanks.

    Kayaman gave you the right answer
    public class MyDataClass {
    private String importantString;
    public void setImpString(String s) {
    importantString = s;
    public String getImpString() {
    return importantString;
    public class MyMainClass {
    public static void main(String[] args) {
    MyDataClass a = new MyDataClass();
    a.setImpString("This is important");
    System.out.println(a.getImpString());
    }Note that he sets the value of the imp string before trying to get it. The nullpointer that you say is probably because you dont do that.
    Also When you aks a question a little humility doesnt hurt.
    You do need a tutorial first.

  • How do i create objects of ordinary Classes from a javabean

    I want to create a class Person below that I want to create an object from in my javabeans.
    Look below Person class definition for continuation.
    package data;
    public class Person
    private String name;
    public Person()
    name = "No name yet.";
    public Person(String initialName)
    name = initialName;
    public void setName(String newName)
    name = newName;
    public String getName()
    return name;
    public void writeOutput()
    System.out.println("Name: " + name);
    public boolean sameName(Person otherPerson)
    return (this.name.equalsIgnoreCase(otherPerson.name));
    I run this bean class in the WEB-INF/classes/data folder creating a Person object in the deal() method below
    When I compile the class it seems to fail. It does not recognise the Person class. Can you help me with a description of what to do to call
    ordinary class objects from javabean class definitions.
    What directories should the simple classes be put and what should I include in the javabean to be able to access them?
    package data;
    import java.sql.*;
    import data.*;
    public class Bean
    { private Connection databaseConnection ;
    // private Person p;
    public Bean()
    super();
    public boolean connect() throws ClassNotFoundException, SQLException
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    String sourceURL = "jdbc:odbc:robjsp";
    databaseConnection = DriverManager.getConnection(sourceURL);
    return true;
    public ResultSet execquery(String restrict) throws SQLException
    Statement statement = databaseConnection.createStatement();
    String full = "SELECT customerid,CITY,Address from customers " + restrict;
    ResultSet authorNames = statement.executeQuery(full);
    return (authorNames ==null ) ? null : authorNames;
    public String deal() throws SQLException
    {  Person p = new Person();
    p.setName("Roberto");
    return p.getName();
    }

    There is no "Copy File" function in Lightroom.
    Lightroom was designed to eliminate the need to make duplicate copies of files. The organizational tools in Lightroom allow you to have one file categorized in many ways, you can assign multiple keywords to the photos (for example: Winery, Finger Lakes, Fall Foliage, Jessica). Similarly, you can have a file categorized in multiple Lightroom collections at the same time, all without making a copy of the photo. The benefit of this is that you don't need to make multiple copies of each photo, one copy suffices, and thus disk space is saved; and furthermore if you should edit a photo or add metadata, you only need to do this once, and the photo's appearance, or the photo's metadata is changed, and visible to you no matter how you choose to access the photo (pick any keyword or any collection and you will see the change)

  • How many Connections objects????

    Hi
    I am creating a GUI application which contains several GUI classes(e.g. frames and dialog boxes) which are instantiated depending on the choice of the user. I also have a Database class which contains the code which enables the connection to the database. The code creating the connection is within the constructor,therefore creating a connection whever I create an instance of the database class.
    Most of the GUI classes need to obtain or update information held in a database.
    Currently I create an instance of the Database class in every GUI class which needs to access the database. Obviously however every time a new database object is created, a new connection is also created.
    I am worried about all these database objects all containing their own connections.
    Should I have just one connection object in existence at any one time?
    If so,can I declare the Connection variable in the Database class as static?
    Any help/comments would be gratefully received.
    LGS

    From what I know, there should be no problem with maintaining multiple connections to the database. This is a property of the database itself, most allow about 256 connections. The only problem you face is a lost transaction. As long as you keep the queries serialized, you shouldn't encounter any problems.
    If you did want to only have one connection open... why not have another class for that (DBConn) and not instantiate a new connection in the constructor of your Database class. This way, each Database object can use the one connection by all referencing the DBConn object.
    Just a thought...

  • Connection object as a key in a hashtable

    Hi,
    I am debugging some code where a Connection object is used as a key in a hashtable. Is this ok? Will the equals() and hashCode method be defined properly for a Connection object?
    Appreciate your help.
    Thanks!

    I am debugging some code where a Connection object is
    used as a key in a hashtable. Is this ok? Will the
    equals() and hashCode method be defined properly for a
    Connection object?First, answer the following question for yourself: how do you defined equality of Connections?
    If a class merely inherits the equals() implementation from Object, then equality is the same as referential identity. If that is Ok for you [which is the case in surprisingly many cases], there is no harm is using Connections as hashtable keys.
    Vlad.

Maybe you are looking for

  • Crystal Report Printing Error

    Hi, All When I run rpt file from SBO, it always promts me to enter SQL username and password, even though I am 100% sure I entered them correctly. Anybody can tell me what's wrong. the client OS is XP

  • 4G on/off toggle needed for AT&T iPhone 4S

    I appreciate that Apple added a feature in iOS 5.1 that actually displays the true HSPA+ ("4G") signal strength on my iPhone 4S.  I no longer see 5 bars of 3G while mysteriously getting no data - now I can see that I'm stuck on the HSPA+ network with

  • Vista won't install on a RAID set. ***SOLVED***

    I just installed my new MSI 790GX-G65 system and I cannot install Vista (32-bit) on any type of 2 disk RAID set that I have tried to create.  I can get the installer to see the drive(s) by loading the driver, but after partitioning and formatting, I

  • Migrate Data only from MS SQL to existing tables in Oracle

    Hi, I just downloaded Sql developer and I just want to copy data from sql server tables to oracle. I already have existing tables in Oracle and I just want to import the data there. How could I possible do that? Thanks in advance :)

  • Photos duplicating

    I use LR 3.3 and am trying to clean up my catalogs.  Sometimes I have as many as 3 or 4 copies of the same photo.  To delete I mark as rejected (x) then select all photos and delete from disk.  when I delete the photos the numbers of my photos go dow