JasperReport with java in Eclipse । ইক্লিপ্স এ জ্যাস্পার রিপোর্ট

জ্যাস্পার রিপোর্ট এর ওপর অনেক টিউটোরিয়াল আছে নেটে, আসলে এত বেশী পরিমানে আছে যে কোনটা দিয়ে আমি কাজ করেছিলাম তা নিজেই ভুলে যাব,

তাই ভুলে যাবার আগে পুরা প্রসেসটা আবার ভিডিও করে নিচ্ছি( অডিও নেই )। (বিঃ দ্রঃ ভিডিও অনেক বড় তাই আপ্লোড হচ্ছে না। )

প্রথমে যেগুলো ডাউনলোড করা লাগবে-

১) জেস্পাররিপোর্ট এ-পি-আই

http://jaist.dl.sourceforge.net/project/jasperreports/jasperreports/JasperReports%204.1.2/jasperreports-4.1.2-project.tar.gz

সোর্স ফোর্জ এর লিঙ্ক, ভেঙ্গে গেলে jasperreport দিয়ে সার্চ দিলেই হবে

২) রিপোর্ট ডিজাইনার

http://jaist.dl.sourceforge.net/project/ireport/iReport/iReport-4.1.1/iReport-4.1.1-windows-installer.exe

সোর্স ফোর্জ এর লিঙ্ক, ভেঙ্গে গেলে iReport দিয়ে সার্চ দিলেই হবে

৩) মাই এস কিউ এল+অ্যাপাচি (ওয়াম্প/জাম্প হলেও চলবে)

আমি এখনো জ্যাস্পার রিপোর্ট ডাটাবেসছারা কাজ করাতে পারি নাই। ডাটা বেস এর ব্যাবহার ছারা করা গেলে আপডেট জানাবো।

৪) মাই এস কিউ এল জাভা কানেক্টর

mysql-connector-java-5.1.15-bin.jar

এখানে পাওয়া যাবে-

http://www.mysql.com/downloads/connector/j/

৫) জাভা আই ডি ই এক্লিপ্স, আমি eclipse indigo for JEE ব্যাবহার করছি।

এবার কাজ শুরু

১) একটা নতুন জাভা প্রজেক্ট তৈরী করি এবং এতে এক্সটার্নাল জার ফাইল গুলো ইনক্লুড করি,

Project properties -> java build path -> libraries -> add external JAR

এখানে অ্যাড করতে হবে

mysql-connector-java-5.1.15-bin.jar

jasperreports-4.1.2\dist\jasperreports-4.1.2.jar

jasperreports-4.1.2\lib\* ( এই ফল্ডার এর সব জার)

২) একটি ছোট ডেটাবেস তৈরী করি jasper নামে, ইউজার নেম + পাসওয়ার্ড jasper

CREATE TABLE IF NOT EXISTS `test` (

`ID` int(11) NOT NULL,

`NAME` varchar(10) NOT NULL,

PRIMARY KEY (`ID`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

— Dumping data for table `test`

INSERT INTO `test` (`ID`, `NAME`) VALUES

(1, ‘SHABAB’),

(2, ‘ANAS’),

(3, ‘SHAKIL’);

৩) ডাটা হলো এবার রিপোর্ট, আমাদের ডাউনলোড করা iReport ইন্সটল করে তা দিয়ে রিপোর্ট বানাই, রিপোর্ট ডিজাইন এ খুব ডিটেইল গেলাম না, iReport4 ব্যাবহার করলে খুব সহজেই রিপোর্ট করা যায় wizard দিয়ে।

এই স্টেপ ৩ টি পার করতে সাহাজ্য করবে wizard। এর পর

n  প্রথম স্টেপ (ইন শর্ট)

n  দ্দিতীয় স্টেপ,

Create new report -> blank A4 -> launch report wizard

রিপোর্ট এর নাম দিয়ে নেক্সট দিন

Query ফিল্ড এ

SELECT * FROM TEST

দিয়ে নেক্সট

সব গুলো ফিল্ড >> ডানে এনে নেক্সট নেক্সট ফিনিশ

Palette থেকে static text আর text field এনে এরুপ একটি রিপোর্ট তৈরী করি

এবার একটি প্যারামিটার আনবো যা আমাদের জাভা প্রগ্রাম থেকে আসবে

Parameters -> add parameter

নতুন parameter এর নাম দেই ID_PARAM

Project->edit query

থেকে আমাদের query condition এ প্যারামিটার যোগ করি

সব শেষে preview দেখে .jasper file তৈরী করি। সব ঠিক ঠাক চল্লে preview করলে একটি পপ আপ এসে ID_PARAM এর ভ্যালু চাইবে, এখানে 1 ইনপুট দিলে

Database থেকে ১ id এর ইনফো দেখাবে।

Preview সফল হলে একটি .jasper file একই ডিরেক্টরি তে তৈরী হবে এটাকে আমরা আমাদের জাভা প্রগ্রাম ফোল্ডার এ কপি করি। ধরা যাক ফাইলটার নাম “frmdatabase.jasper”

৪) এবার কোডিং, এখানে সবচেয়ে ছোট একটা এক্সাম্পল দেয়া হল, এটা একটা প্যারামিটার জ্যাস্পার কে পাঠায় যার উপর সে query করে কিছু রিপোর্ট করে

package jspertest;

import javax.swing.*;

import java.awt.*;

import java.sql.Connection;

import java.sql.DriverManager;

import java.util.*;

import net.sf.jasperreports.engine.*;

import net.sf.jasperreports.view.*;

public class MyReportViewer extends JFrame

{

public MyReportViewer(String fileName,Map parameter)

{

super(“View Report”);

try

{

Connection con = null;

try {

// Load the Oracle JDBC driver

Class.forName(“com.mysql.jdbc.Driver”).newInstance();

System.out.println(“MYSQL JDBC driver loaded ok.”);

} catch (Exception e) {

System.out.println(“Driver not found\n”);

System.err.println(“Exception: “+e.getMessage());

}

String username = “jasper”;

String password = “jasper”;

String dbname=”jasper”;

con =  (Connection) DriverManager.getConnection(

“jdbc:mysql://localhost:3306/”+dbname,username,password);

JasperPrint print = JasperFillManager.fillReport(fileName, parameter,con);

JRViewer viewer=new JRViewer(print);

Container c=getContentPane();

c.add(viewer);

}

catch(Exception e)

{

e.printStackTrace();

}

setBounds(10,10,600,500);

setDefaultCloseOperation(DISPOSE_ON_CLOSE);

}

public static void main(String args[])

{

Map param=new HashMap();

param.put(“ID_PARAM”,”2″);

MyReportViewer viewer=new MyReportViewer(“frmdatabase.jasper”,param);

viewer.setVisible(true);

}

}

এই প্রগ্রাম পাওয়া যাবে সোশাল অয়েব এ-

http://sw.daffodilvarsity.edu.bd/pg/file/shababhsiddique/read/72492/jasper-program

.jasper file টাও এর মধ্যে আছে

জাভা কোর্স ১ম – ৩য় দিন

জভা কোর্স এর সব গুলো প্রাক্টিস এখানে দেবার আশা  আছে। হয়তো পঠক দের কাজে আসবে

১ম দিন

http://sw.daffodilvarsity.edu.bd/pg/file/shababhsiddique/read/50040/java-course-warm-up-class-introduction-to-eclipse-ide

২য় দিন

http://sw.daffodilvarsity.edu.bd/pg/file/shababhsiddique/read/50052/java-course-warm-up-class-java-manners

৩য় দিন

http://sw.daffodilvarsity.edu.bd/pg/file/shababhsiddique/read/50037/java-course-warm-up-class-junit-test