Artikel ini menjelaskan metode hibernate untuk menambahkan data dalam batch. Bagikan untuk referensi Anda, sebagai berikut:
1. Hibernate_016_batchadddata Struktur direktori program:
2. Paket JAR yang diperkenalkan di direktori LIB:
3. Kode Sumber Medicinedao.java:
Paket com.xqh.dao; import java.util.list; impor org.hibernate.Session; import com.xqh.model.medicine; import com.xqh.util.hibernateutil;/*** Kelas Operasi Obat**/Kelas Publik Medicinedao {/** Saving Batch dari Obat Operasi Kelas**/Kelas Publik Medicinedao {/** Batch Saving of Operation Class**/Public Class Medicinedao {/** Batch Saving of Operation Class**/Public Class Medicinedao {/** Batch Saving Operasi Obat* saveMedicines (Daftar <Sedic> ms) {session session = null; if (ms! = null && ms.size ()> 0) {coba {session = hibernateutil.getSession (); // Dapatkan sesi sesi.begintransaction (); // Nyalakan obat -obatan obat = nol; // Buat Objek Obat // Loop Objek Obat untuk (int i = 0; i <ms.size (); i ++) {obat = (obat) ms.get (i); // Dapatkan sesi obat. // Simpan objek obat // batch objek yang dimasukkan segera ditulis ke database dan memori gratis jika (i % 10 == 0) {session.flush (); session.clear (); }} session.getTransaction (). commit (); // Kirim hal} catch (Exception e) {e.printstacktrace (); // cetak kesalahan pesan sesi.getTransaction (). Rollback (); // kesalahan akan mengembalikan benda} akhirnya {hibernateutil.closesession (sesi); // tutup sesi}}}}4. Medicine.java Kode Sumber:
Paket com.xqh.model;/*** Kelas Kegigihan Obat*/Obat kelas publik {Private Integer ID; // Nomor ID Nama String Pribadi; // Nama Obat Harga Ganda Pribadi; // Harga Private String FactoryAdd; // alamat pabrik integer publik getId () {return id; } public void setid (integer id) {this.id = id; } public string getName () {return name; } public void setName (name string) {this.name = name; } public double getPrice () {harga kembali; } public void setPrice (harga ganda) {this.price = harga; } public string getFactoryAdd () {return factoryAdd; } public void setFactoryAdd (String factoryAdd) {this.factoryAdd = factoryAdd; }}5. Medicine.HBM.XML Kode Sumber:
<? XML Versi = "1.0"?> <! Doctype Hibernate-Mapping Public "-// Hibernate/Hibernate Mapping DTD 3.0 // EN" "http://hibernate.sourceForge.net/hibernate-papping-3.0.dtd"> <hibernate-papping> <class name = "comel. TABLE = "TB_MEDICINE_BATCH"> <id name = "id"> <generator/> </d> <name properti = "name" not-null = "true" length = "200"/> <name properti = "harga" not-null = "true"/> <name properti = "factoryadd" length = "200"/</class> </hibernate-mapping-mapping> factoryadd "length =" 200 "/</class> </hibernate-mapping-mapping-mapping-mapping =" 200 "/</class> </hibernate-mapping-mapping-mapping-mapping"
6.Savemedicine.java Kode Sumber:
Paket com.xqh.servlet; import java.io.ioexception; impor java.util.arraylist; import java.util.list; import javax.servlet.servletException; import javax.servlet.http.httpservlet; impor javax.servlet.http.htpservlet; impor javax.servlet javax.servlet.http.httpservletResponse; import com.xqh.dao.medicinedao; import com.xqh.model.medicine; kelas publik savemedicine memperluas httpservlet {private static final serialversionuid = 374433440395515151515l; Serialversionuid = 3744334039551541515. public void dopost (permintaan httpservletRequest, respons httpservletResponse) melempar servletException, ioException {// nama obat string [] = request.getParameterValues ("name"); // Harga harga string [] = request.getParameterValues ("harga"); // string alamat pabrik menambahkan [] = request.getParameterValues ("factoryAdd"); // penilaian validitas if (name! = Null && harga! = Null && menambahkan! = Null) {if (name.length == harga Obat m = null; // Objek Obat // Instantiate Objek Obat pada gilirannya dan tambahkan ke koleksi untuk (int i = 0; i <name.length; i ++) {m = obat baru (); // instantiate obat // tetapkan atribut m.setname (nama [i]); M.SetPrice (double.parsedouble (harga [i])); M.SetFactoryAdd (menambahkan [i]); M.Add (M); // Tambahkan ke set} // instantiate objek medicinedao Medicinedao dao = new Medicinedao (); dao.savemedicines (MS); // Batch Simpan narkoba permintaan.setAttribute ("info", "Informasi obat disimpan dengan sukses !!!"); }} // Forward (Request, Response); }}7. Kode Sumber CharacterencodingFilter.java:
/ * * Untuk mengubah template ini, pilih Tools | Templat * dan buka templat di editor. */paket com.xqh.util; import java.io.ioException; impor javax.servlet.filter; import javax.servlet.filterchain; import javax.servlet.filterconfig; import javax.servlet. javax.servlet.servletResponse;/*** Filter pengkodean karakter*/Kelas publik KaraktereCodingFilter mengimplementasikan filter {string encoding yang dilindungi = null; Filter Config yang Dilindungi Config = NULL; public void init (filterconfig filterconfig) melempar servletException {this.filterconfig = filterconfig; this.encoding = filterconfig.getInitparameter ("encoding"); } public void dofilter (permintaan servletRequest, respons servletResponse, rantai filterchain) melempar ioException, servletException {if (encoding! = null) {request.setcharacterencoding (encoding); response.setContentType ("Teks/html; charset ="+encoding); } rantai.dofilter (permintaan, respons); } public void hancur () {this.encoding = null; this.filterconfig = null; }}8. Hibernateutil.java Kode Sumber:
Paket com.xqh.util; impor org.hibernate.hibernateException; impor org.hibernate.Session; impor org.hibernate.SessionFactory; Impor org.hibernate.cfg.configuration;/** * Kelas inisialisasi hibernasi, yang digunakan untuk mendapatkan sesi, sesi yang tidak ada, dan Sesi Tutup, Hibernate, Kelas Hibernasi, Hibernate, Digunakan untuk mendapatkan sesi, Sesi, dan Sesi Tutup Kelas Hibernasi, Hibernate Hibernate, Hibernate, Digunakan untuk mendapatkan sesi, Sesi, dan Sesi Tutup Kelas Hibernat Hibernate, Hibernate Hibernate, Hibernate, Digunakan untuk memperoleh sesi sesi, dan Sesi Public. pabrik = null; // blok statis statis {coba {// muat konfigurasi file konfigurasi hibernate cfg = konfigurasi baru (). Configure (); // Instantiate SessionFactory Factory = cfg.buildsessionFactory (); } catch (hibernateException e) {e.printstacktrace (); }} / *** Dapatkan Objek Sesi* @Return Sesi Objek* / Public Static Session GetSession () {// Jika sessionfacroty tidak kosong, aktifkan sesi sesi sesi = (pabrik! = Null)? factory.opensession (): null; sesi kembali; } / *** Dapatkan objek sesiFactory* @return sessionFactory objek* / public static sessionFactory getSessionFactory () {return factory; } / *** Tutup sesi* @param sesi objek* / public static void closeSession (sesi sesi) {if (session! = Null) {if (session.isopen ()) {session.close (); // tutup sesi}}}}9.hibernate.cfg.xml kode sumber:
<? Xml Version = '1.0' Encoding = 'UTF-8'?> <! Doctype Hibernate-Configuration Public "-// Hibernate/Hibernate Configuration Dtd 3.0 // en" "http://hibernate.sourceForge.net/hibernate-configuration-. <!-dialek-> <nama properti = "dialek"> org.hibernate.dialect.mysqldialect </property> <!-Koneksi database-> <nama properti = "connection.url"> jdbc: mysql: // localhost: 3306/belajar </properti "<!-Database connection name-localhost: 3306/belajar </properti> <!-Database connection name-/localhost: 3306/belajar </properti> <!-Database connection name-localhost: 330 a footh." Kata sandi-> <name properti = "connection.password"> 1120 </pruptent> <!-driver database-> <name properti = "connection.driver_class"> com.mysql.jdbc.driver </proper name = "hibernate.hbm2ddl.auto"> update </pruptent> <!-pemetaan file-> <pemetaan sumber daya = "com/xqh/model/obat-obatan.hbm.xml"/> </sion-factory> </hibernate-configuration>>
10.log4j.properties kode sumber:
### pesan log langsung ke stdout ### log4j.appender.stdout = org.apache.log4j.consoleAppenderLog4j.applender.stdout.target = System.outlog4j.appender.stdout.layout = org.apache.log4j.patternlayoutlog4j.appender.stdout %c {1}: %l - %m %n ### Pesan Langsung Untuk File Hibernate.log #### log4j.appender.file = org.apache.log4j.fileAppender#log4j.appender.file.file = hibernate.log#log4j.appender.file.layout = org.apache.log4j.patternlayout#log4j.applay.file %c {1}: %l - %m %n ### set Level log - Untuk lebih banyak perubahan logging verbose 'info' menjadi 'debug' ### log4j.rootlogger = warn, stdout#log4j.logger.org.hibernate = info#log4j.logger.org.hibernate = debug = debug = debug = info#log4j.logger.org. activity#log4j.logger.org.hibernate.hql.ast.AST=debug### log just the SQL#log4j.logger.org.hibernate.SQL=debug### log JDBC bind parameters ####log4j.logger.org.hibernate.type=info#log4j.logger.org.hibernate.type=debug### Log Skema Ekspor/Pembaruan #### log4j.logger.org.hibernate.tool.hbm2ddl = debug ### log HQL Pohon Parse#log4j.logger.org.hibernate.hql = debug ### Kegiatan cache ###L LOG4J.LOGGER.org Aktivitas#log4j.logger.org.hibernate.transaction = debug ### log jdbc akuisisi sumber daya#log4j.logger.org.hibernate.jdbc = debug ## Aktifkan baris berikut jika Anda ingin melacak koneksi ##########################################################################################################. log4j.logger.org.hibernate.connection.DriverManAgerConnectionProvider = Trace11.index.jsp Kode Sumber:
<%@ page language = "java" contentType = "text/html" pageEncoding = "gbk"%> <! Doctype html public "-// w3c // dtd html 4.01 Transisi // EN"> <html> <head> <itement> Batch Tambah informasi narkoba </title> <html "TEKS/TEKS/<head> <itement> Batch Tambah informasi narkoba </title> <html" TEKP/TEXSS/TEKS/TEXSSS <title> Batch Tambah informasi narkoba </title> <style = "TEXT" "TEKP/TEKS/TEKSTS/TEXTS <title> <title> Tambah informasi obat </title> Font-Family: Verdana; font-size: 12px; latar belakang-warna: #ebebeb; Warna: Hitam; Line-Height: 20px; Tinggi: 30px;} </style> <script type = "text/javascript"> function add () {var a = document.geteLementById ("a"); var b = document.getElementById ("b"); B.InnerHTML += A.InnerHtml; } fungsi mengurangi () {var a = document.geteLementById ("a"); var b = document.getElementById ("b"); var stra = a.innerhtml; var strb = b.innerHtml; B.InnerHtMl = strb.substring (0, strb.length - stra.length); } function save (FormName) {for (i = 0; i <FormName.length; i ++) {if (formname.elements [i] .value == ") {alert (" Silakan isi informasi lengkap! "); mengembalikan false; } } } </script> </head> <body onload="add()"> <form action="SaveMedicine" method="post" onsubmit="return save(this);"> <table align="center" cellpadding="3" cellpacing="1" > <tr> <td align="center"> <br> <h1> Batch Add Drug Information</h1> </td> </tr> <tr> <td> <div id = "b"> </div> </td> </td> </tr> <tr> <td> <input type = "Tombol" value = "Tambahkan baris" onClick = "add () <) <input type =" value "value =" pengurangan () "> <input type =" TRIP "nilai" kirim "nilai" kirim "nilai" kirim " </able> </form> <div id = "a" style = "display: none"> <tabel align = "center"> <tr> <td> Nama: </td> <td> <input type = "Text" name = "name" size = "13"> </t "Uses =" TEX "UKURAN" TEKPA "TEXT" TEXT "TEKP" Alamat pabrik: </td> <td> <input type = "text" name = "factoryAdd" size = "30"> </td> </tr> </able> </div> </body> </html>12.Result.jsp Kode Sumber:
<%@ page language = "java" contentType = "text/html" pageEncoding = "gbk"%> <! Doctype html public "-// w3c // dtd html 4.01 transisi // en"> <html> <head> <title> <title> <title> <title> calon "TEXTHEET> <" TEXTHEET> <JUTLE> <JUTLE> TEXTHET> TEXTIONS </Title> <!-EN "LINK =" href = "styles.css"> -> </head> <body> <div align = "center"> <font color = "red" size = "12px;" style = "font-weight: bold;"> $ {info} </font> <br> <br> <br> <br> <br> <a href = "index.jsp"> return </a> </div> </body> </html>13. Tabel Data TB_MEDICINE_BATCH Struktur:
14. Tangkapan layar hasil operasi program:
Saya berharap deskripsi dalam artikel ini akan membantu pemrograman Java semua orang berdasarkan kerangka hibernasi.