Java සමග Mysql Database එකක් භාවිතා කිරීම – 2


මේ පොස්ට් එක බලන්න කලින් Java සමග Mysql Database එකක් භාවිතා කිරීම – 1 පොස්ට් එක බලලා හිටියොත් මේ පොස්ට් එක ගොඩක් පැහැදිලි වෙනවා.දැන් අපි Java සහ Mysql Database එක අතර Connection එක හදලා ඉවරයි. දැන් කරන්න තියෙන්නේ මේ Connection එක හරහා Database එකට Data Insert කරන, Update කරන, Retrieve කරන විදිය බලන්න.

මේවට කියන්නේ CRUD Operation කියලා. Create, Read, Update, Delete කියන එක කෙටි කරලා තමයි CRUD කියන එක හැදිලා තියෙන්නේ. මේ තියෙන්නේ INSERT Query එක.

 

String sql = "INSERT INTO car (brand, model, title, description) VALUES (?,?,?,?)";

String brand = "TOYOTA"
String model = "Yaris"
String title = "Brand-new"
String description = "Unregistered vehicle."

try {
	Connection con = DB.getcon();
	PreparedStatement ps = con.prepareStatement(sql);
	ps.setString(1, brand);
	ps.setString(2, model);
	ps.setString(3, title);
	ps.setString(4, description);
	ps.executeUpdate();

	} catch (Exception e) {
		e.printStackTrace();
	}

මෙතැනදී මම භාවිතා කරලා තියෙන්නේ PreparedStatement එක, මේ වෙනුවට Statement එක use කරන්නත් පුළුවන්.නමුත් මේ විදිය Developerගේ පැත්තෙන් පහසුයි. PreparedStatement එකක් කියන්නේ Precooked කෑමක් වගේ අපිට තියෙන්නේ add කරගෙන use කරන්න විතරයි. මෙතැනදී sql String එකේ VALUES වලට දෙන්න ඕන DB එකට යවන්න ඕන data වල count එකට හරියන්න ‘?’ Characters. එතකොට නිකන්ම ඒ ‘?’ වලට values assign වෙලා query එක execute වෙනවා. මේක Data Injection එකක් විදියටත් හඳුන්වන්න පුළුවන්. මෙතැනදී පෙන්වලා තියෙන්නේ basic structure එකක් විතරයි මේකට තමන්ගේ development එකේදි වෙන්න ඕන දේවල් add කරන්න පුළුවන්. උදාහරණයක් විදියට Java SE Application එකක Messagebox එකක් දෙන්න ඕන නම් save success කියලා ඒක දෙන්න පුළුවන් ps.executeUpdate(); වලට පස්සේ. Java EE App එකක නම් Page redirection එකක් දෙන්නත් පුළුවන්.

දැන් බලමු Data Retrieve කරන විදිය.

String sql = "SELECT * FROM car";

try {
	Connection con = DB.getcon();
	PreparedStatement ps = con.prepareStatement(sql);
	ResultSet rs = ps.executeQuery();

	while(rs.next()){

         		//here you can retrieve data

         		}

	} catch (Exception e) {
		e.printStackTrace();
	}

මේ code එකේ while loop එක ඇතුලේ loop වෙන resultset එකේ තියෙන්නේ database එකේ row එකක්.මේ Resultset object එක හරහා අපිට පුළුවන් ඒ data userට view කරන්න.ඒක කරන්නේ මෙහෙම.

String one = rs.getString(1);
String two = rs.getString(2);
String two = rs.getString(3);
// so on

මේ විදියට data අරගන්නත් view කරන්නත් පුළුවන්. Java වලදී 0,1,2,…. විදියට count උනාට මේකෙදි count වෙන්නේ 1,2,3,4 කියලා columns පිළිවෙලට. ඒ වගේම මේ වෙනුවට column name එක දෙන්නත් පුළුවන්.

String one = rs.getString("brand");
String two = rs.getString("model");
String two = rs.getString("title");
// so on

නමුත් මේ වීදියේදී spelling ගැන සැලකිලිමත් වෙන්න වෙනවා, DB එකේ නැති column එකක් retrieve කරන්න request කරොත් null value එකක් ලැබෙන්නේ. Delete, Update Query 2ත් මේ විදියමයි.values කෙලින්ම enter නොකර ‘?’ වලට inject කරන එකයි කරන්නේ.

ගැටළු සහ අපැහැදිලි තැන් තියනවා නම් comment එකකින් කියන්න අමතක කරන්න එපා.

Advertisements

5 thoughts on “Java සමග Mysql Database එකක් භාවිතා කිරීම – 2

  1. Pingback: Connect to a MySQL Database Using PHP (+ video) | dhanushka's blog

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s