මේ පොස්ට් එක බලන්න කලින් Java සමග Mysql Database එකක් භාවිතා කිරීම – 1 පොස්ට් එක බලලා හිටියොත් මේ පොස්ට් එක ගොඩක් පැහැදිලි වෙනවා.දැන් අපි Java සහ Mysql Database එක අතර Connection එක හදලා ඉවරයි. දැන් කරන්න තියෙන්නේ මේ Connection එක හරහා Database එකට Data Insert කරන, Update කරන, Retrieve කරන විදිය බලන්න.
මේවට කියන්නේ CRUD Operation කියලා. Create, Read, Update, Delete කියන එක කෙටි කරලා තමයි CRUD කියන එක හැදිලා තියෙන්නේ. මේ තියෙන්නේ INSERT Query එක.
[code language=”java”]
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();
}
[/code]
මෙතැනදී මම භාවිතා කරලා තියෙන්නේ 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 කරන විදිය.
[code language=”java”]
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]
මේ code එකේ while loop එක ඇතුලේ loop වෙන resultset එකේ තියෙන්නේ database එකේ row එකක්.මේ Resultset object එක හරහා අපිට පුළුවන් ඒ data userට view කරන්න.ඒක කරන්නේ මෙහෙම.
[code language=”java”]
String one = rs.getString(1);
String two = rs.getString(2);
String two = rs.getString(3);
// so on
[/code]
මේ විදියට data අරගන්නත් view කරන්නත් පුළුවන්. Java වලදී 0,1,2,…. විදියට count උනාට මේකෙදි count වෙන්නේ 1,2,3,4 කියලා columns පිළිවෙලට. ඒ වගේම මේ වෙනුවට column name එක දෙන්නත් පුළුවන්.
[code language=”java”]
String one = rs.getString("brand");
String two = rs.getString("model");
String two = rs.getString("title");
// so on
[/code]
නමුත් මේ වීදියේදී spelling ගැන සැලකිලිමත් වෙන්න වෙනවා, DB එකේ නැති column එකක් retrieve කරන්න request කරොත් null value එකක් ලැබෙන්නේ. Delete, Update Query 2ත් මේ විදියමයි.values කෙලින්ම enter නොකර ‘?’ වලට inject කරන එකයි කරන්නේ.
ගැටළු සහ අපැහැදිලි තැන් තියනවා නම් comment එකකින් කියන්න අමතක කරන්න එපා.
Pushpika Wanniachchi
Gud work bro , keep it up (y)
dhanush_c
thanks bro ..
Connect to a MySQL Database Using PHP (+ video) | dhanushka's blog
[…] වලින් connect වෙන විදිය ලියපු පොස්ට් 1 2 මෙතනින් බලන්න. දැන් බලමු මේ වැඩේ php […]
Ravindu Prabath
Thanks… Can you tel me how to connect to a online mysql data base in a host(like dbfree.net) using java
dhanush_c
you need to read this post, https://dhanushkablog.wordpress.com/2015/04/03/how-to-connect-mysql-with-java-1/
this includes how to connect to a mysql server in your pc, you can see there string variable named url, you need to change ‘localhost’ into the ip address of your server and the port which runs mysql.