Ceriwis  

Go Back   Ceriwis > HOBI > Komputer & Teknologi > Programming

Programming Share, tanya jawab, saling bantu antar programmer dengan berbagai macam bahasa pemrograman.

Reply
 
Thread Tools
  #1  
Old 20th November 2011
Guesuper Guesuper is offline
Ceriwiser
 
Join Date: Nov 2011
Posts: 408
Rep Power: 14
Guesuper mempunyai hidup yang Normal
Default [SHARE] Generated ID with AUTO_INCREMENT MySQL di Java

Bagi para pembaca sekalian yang sudah sering menggunakan JDBC, pasti sudah tidak asing dengan CRUD operations. Khususnya pada bagian CREATE, kadang kita dihadapi dengan permasalahan AUTO INCREMENT pada sebuah colum di tabel MySQL kita. Setelah melakukan insert, trus muncul pertanyaan kaya gini�


Code:

Person p = new Person();
p.setName("Billy");
DAO.insert(p);
System.out.println(p.getId());

tapi malah menghasilkan null. Padahal kita maunya setelah Create ID nya si person yang baru itu udah terisi secara AUTO INCREMENT dengan mysql? Lalu muncul pertanyaan. �Ah cari aj id nya pake SELECT id FROM person WHERE name=�Billy��. Haha, pastinya gak keren dong?

Setelah google kesana kemari, ternyata sudah ada topic demikian di article nya MySQL, silahkan cek di Using Auto_Increment keys with Connector. Anda bisa mengikuti yang sudah dijelaskan disana, atau membaca tulisan saya yang cantik ini� hahahah .



Dimisalkan kita punya table person dengan field id dan name, diamana field id merupakan PK dan AI(auto_increment). Lalu kita mempunya kelas DAO sendiri untuk akses data objectnya,seperti dibawah ini.




Code:

public abstract class DAO{

public static void insert(Person p) throw Exception {
String sql = "INSERT INTO person(name) values(' "+p.getName()+" ')";
// dimisalkan kita sudah memiliki kelas Connection untuk koneksi Database MySQL
Statement ps = Connection.getConnection().
createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_UPDATABLE);
ps.executeUpdate(sql, Statement.RETURN_GENERATED_KEYS);
ResultSet rs = ps.getGeneratedKeys();
if(rs.next()){
p.setId(rs.getInt(1));
}
}

}



Lalu pada kelas Main, misalnya seperti ini.




Code:

public static void main(String[] args) {
Person p = new Person();
p.setName("Billy");
try {
new DAO().insert(p);
} catch (Exception e) {
}
System.out.println(p.getId());
}

Lalu pada kelas Main, misalnya seperti ini.







TS udah gagal 19x brarti



----------------------------------------

yanuar7199.wordpress.com




Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


 


All times are GMT +7. The time now is 06:03 PM.


no new posts