0
package com.candidjava;

import java.sql.*;
import java.io.*;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.cfg.Configuration;

public class AddStudent {
    private static SessionFactory sessionFactory1;

    public static void main(String args[]) throws Exception {
        if (args[0] != null || args[1] != null || args[2] != null) {// begin if
                                                                    // A
            String name = args[0];
            String name1 = args[0];
            String degree = args[1];
            String phone = args[2];
            System.out.println("Name: " + name);
            System.out.println("Degree: " + degree);
            System.out.println("Phone: " + phone);

            if ((name.equals("") || degree.equals("") || phone.equals(""))) {
                System.out.println("All informations are Required");
            } else {

                try {// begin try

                    sessionFactory1 = new Configuration().configure(
                            "com\\xml\\student1.cfg.xml").buildSessionFactory();
                } catch (Exception e) {
                    System.out.println("mathan");
                    System.out.println(e.getMessage());
                    System.err
                            .println("Initial SessionFactory creation failed."
                                    + e);

                }

                Session s1 = sessionFactory1.openSession();
                Transaction tx1 = s1.beginTransaction();
                Student1 stu1 = new Student1();
                stu1.setName(name1);
                s1.save(stu1);
                tx1.commit();
                System.out.println("Added to mysql Database");
                if (s1 != null)
                    s1.close();
            }
        }
    }
}

This is MY code i Dont know where am Doing Mistake But when I run this application then Exception comes i am creating Hibernate sample application

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 at com.candidjava.AddStudent.main(AddStudent.java:15) This Exception comes i Dont know how to Fix it please help ...

4 Answers 4

2

One of the problem maybe that you need to use && in the following condition:

    if (args[0] != null || args[1] != null || args[2] != null) {// begin if

cHange it to:

    if (args[0] != null && args[1] != null && args[2] != null) {

Also the following check has the same logical problem:

        if ((name.equals("") || degree.equals("") || phone.equals(""))) {

should be :

        if ((name.equals("") && degree.equals("") && phone.equals(""))) {
Sign up to request clarification or add additional context in comments.

Comments

1

I guess you are not passing all the arguments make your condition with logical and not or

 if (args[0] != null && args[1] != null && args[2] != null) { 

And, you are on wrong track with configuring configure

student1.cfg.xml

I believe the above file is the mapping xml file for Student pojo.

Not the hibernate configuration file.

While dealing with hibernate read the properties from hibernate.cfg.xml file not from args.

Hibernate Configuration Official Docs

Comments

0

You can easily do validation at once

package com.candidjava;

import java.sql.*;

import java.io.*;

import org.hibernate.SessionFactory;

import org.hibernate.Transaction;

import org.hibernate.HibernateException;

import org.hibernate.Session;

import org.hibernate.cfg.Configuration;

public class AddStudent {

private static SessionFactory sessionFactory1;

public static void main(String args[]) throws Exception {
     if ((name.equals("") && degree.equals("") && phone.equals(""))) {
            System.out.println("All informations are Required");
        } else {

        String name = args[0];
        String name1 = args[0];
        String degree = args[1];
        String phone = args[2];
        System.out.println("Name: " + name);
        System.out.println("Degree: " + degree);
        System.out.println("Phone: " + phone);   

            try {// begin try

                sessionFactory1 = new Configuration().configure(
                        "com\\xml\\student1.cfg.xml").buildSessionFactory();
            } catch (Exception e) {
                System.out.println("mathan");
                System.out.println(e.getMessage());
                System.err
                        .println("Initial SessionFactory creation failed."
                                + e);

            }

            Session s1 = sessionFactory1.openSession();
            Transaction tx1 = s1.beginTransaction();
            Student1 stu1 = new Student1();
            stu1.setName(name1);
            s1.save(stu1);
            tx1.commit();
            System.out.println("Added to mysql Database");
            if (s1 != null)
                s1.close();
        }
    }
}

Comments

0

This tutorial has been rewritten in candidjava website, try this new hibernate annotations example

1 Comment

please include content in your answer

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.