Persiapan
Untuk membuat proyek Java atau proyek Java WWEB baru, Anda perlu mengimpor paket berikut.
Pekerjaan dasar telah selesai, dan kemudian kita akan mulai mencapai topik.
Buat kelas entitas baru
Buat kelas entitas baru yang sesuai dengan tabel database
paket com.edu.hpu.domain; /***@Author Administrator*Kelas entitas yang sesuai dengan tabel pengguna*/kelas publik pengguna {// atribut kelas entitas dan nama bidang tabel sesuai dengan int private int; nama string pribadi; usia int pribadi; // Encapsulate atribut int int getId () {return id; } public void setid (int id) {this.id = id; } public string getName () {return name; } public void setName (name string) {this.name = name; } public int getage () {usia kembali; } public void setage (int usia) {this.age = usia; } // Tambahkan metode ToString @Override public string toString () {return "user [id =" + id + ", name =" + name + ", usia =" + usia + "]"; }}Tambahkan kelas alat mybatis
Kelas alat ditambahkan seperti yang ditunjukkan di bawah ini,
paket com.edu.hpu.util; impor java.io.inputstream; Impor org.apache.Ibatis.Session.SQLSession; impor org.apache.ibatis.Session.SQLSessionFactory; impor org.apache.ibatis.Session.SQLSessionFactory; impor org.apache.ibatis.Session.SQLSessionFactoryBuilder; kelas publik mybatisutil {/** * Dapatkan sqlSessionFactory * @return sqlsessionfactory */public static sqlSessionFactory getSqlSessionFactory () {string resource = "conf.xml"; // klik file konfigurasi inputStream is = mybatisil.claps. SQLSessionFactory Factory = SQLSessionFactoryBuilder baru (). Build (IS); Pabrik Kembali; } / ** * Dapatkan sqlsession * @return sqlsession * / public static SQLSession getSqlSession () {return getsqlSessionFactory (). Opensession (); } /** * Dapatkan SQLSession * @param isAutocommit * Benar berarti bahwa objek SQLSession yang dibuat akan secara otomatis mengirimkan transaksi setelah SQL dieksekusi * Salah berarti bahwa objek SQLSession yang dibuat tidak akan secara otomatis mengirimkan transaksi setelah SQL dijalankan. Pada saat ini, kita perlu memanggil sqlsession.Commit () secara manual untuk mengirimkan transaksi * @return sqlsession */ public static SQLSESSION GetSQLSESSION (boolean isAutocommit) {return getSQLSessionFactory (). Opensesi (IsAutocommit); }}Ada dua metode untuk menambahkan, menghapus, mencari, dan memodifikasi data menggunakan MyBatis, yaitu operasi file konfigurasi dan operasi anotasi.
Operasi melalui file konfigurasi
File konfigurasi basis data adalah sebagai berikut, konfigurasikan informasi database,
<? Xml Version = "1.0" encoding = "utf-8"?> <! Doctype Configuration Public "-// mybatis.org//dtd config 3.0 // en" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <porporage> <porporage = "Lingkungan =" Lingkungan = "" "" " type = "jdbc" /> <!-Mengkonfigurasi informasi koneksi database-> <datasource type = "pooled"> <properti name = "driver" value = "com.mysql.jdbc.driver" /> <nama properti = "url" value = "jdbc: mysql: // localhost: 3306/test? UseUnicode = true & characterencoding = UTF-8 & ZerodateTimeBehavior = converttonull"/> <nama properti = "nama pengguna" value = "root"/> <nama properti = "kata sandi" value = "" admin " file usermapper.xml, usermapper.xml terletak di paket com.edu.hpu.mapping, jadi sumber daya ditulis sebagai com/edu/hpu/pemetaan/usermapper.xml-> <mapper resource = "com/edu/hpu/pemetaan/usermapper.xml"
Konfigurasikan file pernyataan basis data operasi seperti yang ditunjukkan di bawah ini,
<? Xml Version = "1.0" encoding = "UTF-8"?> <! Doctype mapper public "-// mybatis.org//dtd mapper 3.0 // en" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper naMper.mapper. " <!- Tulis pernyataan SQL kueri di tag pilih, atur atribut ID dari tag pilih ke getUser. Nilai atribut ID harus unik. Atribut ParameterType tidak dapat digunakan kembali untuk menunjukkan jenis parameter yang digunakan dalam kueri. Atribut HasilType menunjukkan tipe set hasil yang dikembalikan oleh query resultType = "com.edu.hpu.domain.user" berarti bahwa hasil kueri dienkapsulasi ke dalam objek kelas pengguna dan kembali ke kelas pengguna, yang merupakan kelas entitas yang sesuai dengan tabel pengguna = "" Dapatkan objek pengguna berdasarkan query-> <Pilihan Pilih = "A " resultType = "com.edu.hpu.domain.user"> Pilih * dari pengguna di mana id =#{id} </pilih> <!-buat pengguna (create)-> <masukkan id = "adduser" parameTerType = "com.edu.hpu.domain.user"> masukkan ke pengguna (name, nilai usia) (#{{#{#} (name}) </deldome. <hapus id = "deleteUser" parameTerType = "int"> hapus dari pengguna di mana id =#{id} </delete> <!-memodifikasi pengguna (update)-> <update id = "updateAser" parameTerType = "com.edu.hpu.domain.user"> update pengguna yang ditetapkan name =#{name}, usia = ever = {ever = {evener "> semua pengguna-> <pilih id = "getAllUsers" resultType = "com.edu.hpu.domain.user"> Pilih * dari pengguna </ pilih> </mapper> Penambahan database, penghapusan, dan revisi melalui file konfigurasi pada dasarnya telah selesai. Selanjutnya, kelas tes diberikan.
Tes dapat dilakukan seperti yang ditunjukkan di bawah ini,
paket com.edu.hpu.test; impor java.util.list; impor com.edu.hpu.domain.user; impor com.edu.hpu.util.mybatisutil; impor org.junit.test; Impor org.apache.Ibatis.Session.SQLSession; test kelas publik {@test public void testAdd () {// sqlsession sqlsession = mybatisutil.getSqlSession (false); Sqlsession sqlsession = mybatisutil.getsqlsession (true); / ** * Peta string identifikasi SQL, * com.edu.hpu.mapping.usermapper adalah nilai atribut namespace dari tag mapper dalam file usermapper.xml, * AddUser adalah nilai atribut ID dari tag insert, dan SQL yang akan dieksekusi dapat ditemukan melalui nilai atribut ID dari tag insert */ "com.edu.hpu.mapping.usermapper.adduser"; // peta SQL Identifikasi string pengguna pengguna = pengguna baru (); user.setname ("pengguna baru Xiaohuang"); user.setage (20); // Lakukan Insert Operation Int Retresult = SQLSession.insert (Pernyataan, Pengguna); // mengirimkan transaksi secara manual // sqlsession.commit (); // Setelah menjalankan SQL menggunakan SQLSession sqlsession.close (); System.out.println (retresult); } @Test public void testUpdate () {sqlSession sqlSession = mybatisutil.getSqlSession (true); /** * Peta string identifikasi SQL, * com.edu.hpu.mapping.usermapper adalah nilai atribut namespace dari tag mapper dalam file usermapper.xml, * UpdateAser adalah nilai atribut ID dari tag pembaruan. SQL yang akan dijalankan dapat ditemukan melalui nilai atribut ID dari tag pembaruan */string pernyataan = "com.edu.hpu.mapping.usermapper.updateUser"; // Pemetaan SQL ID String Pengguna Pengguna = User baru (); user.setid (3); user.setname ("Hello World"); user.setage (25); // Jalankan operasi modifikasi int retresult = sqlSession.update (pernyataan, pengguna); // Setelah menjalankan SQL dengan SQLSession, Anda perlu menutup SQLSession sqlsession.close (); System.out.println (retresult); } @Test public void testDelete () {sqlSession sqlSession = mybatisutil.getsqlSession (true); / ** * Peta SQL Identification String, * com.edu.hpu.mapping.usermapper adalah nilai atribut namespace dari tag mapper dalam file usermapper.xml, * DeleteUser adalah nilai atribut ID dari tag Delete, dan SQL yang akan dijalankan dapat ditemukan melalui nilai atribut ID dari tag Delete, dan SQL yang akan dijalankan/ dapat ditemukan melalui nilai atribut ID dari The Delete Tag * "com.edu.hpu.mapping.usermapper.deleteUser"; // Memetakan string identifikasi SQL // Lakukan hapus operasi int retresult = sqlsession.delete (pernyataan, 4); // Setelah menjalankan SQL menggunakan SQLSession sqlsession.close (); System.out.println (retresult); } @Test public void testGetAll () {sqlSession sqlSession = mybatisutil.getsqlsession (); /** * Memetakan string identifikasi SQL, * com.edu.hpu.mapping.usermapper adalah nilai atribut namespace dari tag mapper dalam file usermapper.xml. * GetAllUsers adalah nilai atribut ID dari tag pilih. SQL yang akan dijalankan dapat ditemukan melalui nilai atribut ID dari tag pilih */Pernyataan string = "com.edu.hpu.mapping.usermapper.getallusers"; // Memetakan SQL Identity String // Jalankan Operasi Kueri dan secara otomatis merangkum hasil kueri ke dalam daftar <user> Daftar pengembalian <user> lStusers = scqlisers. // Setelah menjalankan SQL dengan SQLSession, Anda perlu menutup SQLSession sqlsession.close (); System.out.println (lstusers); }}Operasi melalui anotasi
Operasi melalui anotasi membutuhkan penulisan antarmuka, tetapi tidak perlu diimplementasikan, seperti yang ditunjukkan di bawah ini.
paket com.edu.hpu.mapping; impor java.util.list; impor com.edu.hpu.domain.user; impor org.apache.ibatis.annotations.delete; impor org.apache.ibatis.annotations.insert; impor org.apache.ibatis.annotations.Select; impor org.apache.ibatis.annotations.update; /** * @author gacl * Define the interface for SQL mapping, specify the SQL to be executed using annotations */ public interface UserMapper_11 { //Use the @Insert annotation to specify the SQL to be executed by the add method @Insert("insert into users(name, age) values(#{name}, #{age})") public int add(User user); // Gunakan anotasi @Delete untuk menentukan SQL yang akan dieksekusi dengan metode deletebyId @Delete ("Hapus dari pengguna di mana id =#{id}") public int deletebyid (int id); // Gunakan anotasi @Update untuk menentukan SQL yang akan dieksekusi dengan metode pembaruan @update ("Perbarui pengguna set nama =#{name}, usia =#{usia} di mana id =#{id}") Pembaruan int publik (pengguna pengguna); // Gunakan anotasi @Select untuk menentukan SQL untuk menjalankan metode getById @Select ("Pilih * dari pengguna di mana id =#{id}") pengguna publik getById (int id); // Gunakan anotasi @Select untuk menentukan SQL untuk menjalankan metode getAll @Select ("SELECT * from Users") Daftar Publik <User> getAll (); }Pada saat yang sama, Anda perlu menambahkan antarmuka tertulis ke file konfigurasi database dan menambahkan pernyataan berikut di conf.xml.
<mapper/>
OK, pada dasarnya telah selesai, berikut adalah kelas uji yang dapat diuji.
paket com.edu.hpu.test; impor java.util.list; impor com.edu.hpu.domain.user; impor com.edu.hpu.mapping.usermapper_11; impor com.edu.hpu.util.mybatisutil; Impor org.apache.Ibatis.Session.SQLSession; impor org.junit.test; / ***@Author Administrator*Test Annotation*/ Public Class Test3 {@test public void testAdd () {sqlSession sqlSession = mybatisutil.getSqlSession (true); // Dapatkan objek kelas implementasi dari antarmuka Usermapper. Objek kelas implementasi dari antarmuka Usermapper secara dinamis dibangun oleh sqlSession.getMapper (usermapper.class). Usermapper_11 mapper = sqlSession.getMapper (usermapper_11.class); Pengguna pengguna = pengguna baru (); user.setname ("Kebijaksanaan yang hebat itu bodoh"); user.setage (20); int add = mapper.add (pengguna); // SQLSession perlu ditutup setelah menjalankan SQL dengan SQLSession SQLSession.close (); System.out.println (add); } @Test public void testUpdate () {sqlSession sqlSession = mybatisutil.getSqlSession (true); // Dapatkan objek kelas implementasi dari antarmuka Usermapper. Objek kelas implementasi dari antarmuka usermapper secara dinamis dibangun oleh sqlSession.getMapper (usermapper.class) usermapper_11 mapper = sqlSession.getMapper (usermapper_11.class); Pengguna pengguna = pengguna baru (); user.setid (3); user.setname ("suara dan suara besar"); user.setage (26); // Jalankan operasi modifikasi int retresult = mapper.update (pengguna); // Setelah mengeksekusi SQL menggunakan SQLSession, Anda perlu menutup SQLSession sqlsession.close (); System.out.println (retresult); } @Test public void testDelete () {sqlSession sqlSession = mybatisutil.getsqlSession (true); // Dapatkan objek kelas implementasi dari antarmuka Usermapper, dan objek kelas implementasi dari antarmuka usermapper secara dinamis dibangun oleh sqlSession.getMapper (usermapper.class) usermapper_11 mapper = sqlsession.getmapper (usermapper_11.class); // Jalankan hapus operasi int retresult = mapper.deletebyid (7); // Setelah menggunakan SQLSession untuk mengeksekusi SQL, Anda perlu menutup SQLSession sqlsession.close (); System.out.println (retresult); } @Test public void testGetUser () {sqlSession sqlSession = mybatisutil.getsqlsession (); // Dapatkan objek kelas implementasi dari antarmuka Usermapper. Objek kelas implementasi dari antarmuka usermapperi secara dinamis dibangun oleh sqlSession.getMapper (usermapper.class) usermapper_11 mapper = sqlSession.getMapper (usermapper_11.class); // Jalankan operasi kueri dan secara otomatis merangkum hasil kueri menjadi pengguna pengembalian pengguna = mapper.getById (1); // Setelah menggunakan SQLSession untuk mengeksekusi SQL, Anda perlu menutup SQLSession sqlsession.close (); System.out.println (pengguna); } @Test public void testGetAll () {sqlSession sqlSession = mybatisutil.getsqlsession (); // Dapatkan objek kelas implementasi dari antarmuka Usermapper. Objek kelas implementasi dari antarmuka usermapper secara dinamis dibangun oleh sqlSession.getMapper (usermapper.class) usermapper_11 mapper = sqlSession.getMapper (usermapper_11.class); // jalankan operasi kueri dan secara otomatis merangkum hasil kueri ke dalam daftar <user> daftar pengembalian <user> lstusers = mapper.getall (); // Setelah menggunakan SQLSession Execution SQL, Anda perlu menutup SQLSession sqlsession.close (); System.out.println (lstusers); }}Di atas adalah penjelasan terperinci tentang implementasi Mybatis dari penambahan data, penghapusan, dan revisi yang diperkenalkan oleh editor kepada Anda. Saya harap ini akan membantu Anda. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas Anda tepat waktu. Terima kasih banyak atas dukungan Anda ke situs web Wulin.com!