|
Go to Page... |
Post Reply |
Tweet | Thread Tools |
#1
|
||||
|
||||
![]()
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 ![]() Terkait:
|
Sponsored Links | |
Space available |
Post Reply |
|