Ulasan Penggunaan Dasar:
Pernyataan SQL disimpan dalam file XML atau anotasi Java. Contoh pemetaan mratis (yang menggunakan antarmuka java dan anotasi mybatis):
Paket org.mybatis.example; antarmuka publik BlogMapper {@select ("SELECT * DARI Blog Where id = #{id}") Blog SelectBlog (int id);}Contoh eksekusi:
BlogMapper mapper = session.getMapper (blogmapper.class); blog blog = mapper.selectblog (101);
Pernyataan dan pemetaan SQL juga dapat dieksternalisasi ke file XML:
<? 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"><atmapper naMapper =" mybatis-3-mapper. <pilih id = "selectblog" parameterType = "int" resultType = "blog"> pilih * dari blog di mana id = #{id} </select> </mapper>Anda juga dapat menggunakan API MyBatis untuk menjalankan pernyataan:
Blog blog = session.selectone ("org.mybatis.example.blogmapper.selectBlog", 101);Untuk detailnya, silakan merujuk ke manual pengguna yang disediakan oleh situs web MyBatis.
Berintegrasi dengan musim semi
Mybatis terintegrasi dengan kerangka kerja musim semi. Kerangka kerja musim semi memungkinkan mybatis untuk berpartisipasi dalam transaksi musim semi, menciptakan mapper dan sesi mybatis, dan menyuntikkannya ke dalam kacang lainnya.
Berikut adalah contoh konfigurasi XML dasar: mapper dibuat dan disuntikkan ke dalam kacang "blogservice".
<bean id="sqlSessionFactory"> <property name="dataSource" ref="dataSource" /></bean><bean id="blogMapper"> <property name="sqlSessionFactory" ref="sqlSessionFactory" /> <property name="mapperInterface" value="org.mybatis.example.BlogMapper" /> < /bean> <bean id = "blogService"> <properti name = "blogmapper" ref = "blogmapper" /> </ bean>
Sekarang menelepon mybatis hanya membutuhkan panggilan satu kacang:
BlogServiceImpl kelas publik mengimplementasikan BlogService {BlogMapper BlogMapper Private; public void setBlogMapper (BlogMapper BlogMapper) {this.blogmapper = blogMapper; } public void dosomethingwithablog (int blogid) {blog blog = blogmapper.selectBlog (blogId); ...}} SQLSessionFactory
Setiap aplikasi MyBatis mengambil contoh objek SQLSessionFactory sebagai inti. SQLSessionFactory sendiri dibuat oleh SQLSessionFactoryBuilder. Secara umum, dalam suatu aplikasi, database hanya akan sesuai dengan SQLSessionFactory, jadi kami umumnya mendefinisikan SQLSessionFactory sebagai pola singleton, atau menyuntikkannya melalui pegas, dll.
Metode untuk membuat SQLSessionFactoryBuilder untuk membuat SQLSessionFactory adalah:
Parameter utama yang dirancang oleh metode ini adalah inputstream, lingkungan, dan properti, di mana inputstream adalah aliran input yang diperoleh dari file konfigurasi; Lingkungan mewakili lingkungan mana yang saat ini Anda gunakan di antara banyak lingkungan yang dikonfigurasi dalam file konfigurasi, termasuk sumber data dan transaksi, dan lingkungan default digunakan secara default; Menggunakan properti, mybatis akan memuat properti atau file yang sesuai, yang dapat digunakan dalam file konfigurasi.
Membangun SQLSessionFactory dari XML
private static SQLSessionFactory SQLSessionFactory = null; static {try {inputStream is = Resources.getResourCeAsstream ("config/mybatis_config.xml"); SQLSessionFactory = SQLSessionFactoryBuilder baru (). Build (IS); } catch (ioException e) {// TODO AUTO-ENCEALATED Catch Block E.PrintStackTrace (); }} public static SQLSessionFactory getSQLSessionFactory () {return sqlSessionFactory; }
Berikut ini adalah struktur dasar file konfigurasi:
File konfigurasi mybatis umumnya mencakup bagian -bagian berikut:
<Lingkungan default = "pengembangan"> <lingkungan id = "pengembangan"> <transactionManager type = "jdbc" /> <datasource type = "pooled"> <properti name = "driver" value = "$ {jdbc.driver}" /> <nama properti = "url" value = "$ {jdbc.url}" /<name = "url" value = "$ {jdbc.url}" / value = "$ {jdbc.username}"/> <properti name = "password" value = "$ {jdbc.password}"/> </dateSource> </verveening> </vervencements> Karena MyBatis dapat mengonfigurasi beberapa lingkungan, Anda dapat menentukan lingkungan tertentu saat membuat SQLSessionFactory untuk membuat SQLSessionFactory. Jika Anda tidak menentukannya, lingkungan default akan digunakan.
TransactionManager
Ada dua jenis manajer transaksi di mybatis (yaitu, type = ”[jdbc | dikelola]”):
JDBC Konfigurasi ini secara langsung dan hanya menggunakan pengaturan komit dan rollback JDBC. Ini bergantung pada koneksi yang diperoleh dari sumber data untuk mengelola ruang lingkup transaksi.
Konfigurasi yang dikelola tidak sedikit. Itu tidak pernah melakukan atau menggulung kembali koneksi. Dan memungkinkan wadah untuk mengelola seluruh siklus hidup suatu transaksi (seperti konteks server aplikasi Spring atau JEE). Ini menutup koneksi secara default. Namun beberapa wadah tidak menginginkan ini, jadi jika Anda perlu menghentikannya dari koneksi, atur properti closeConnection menjadi false.
DataSource
Elemen DataSource menggunakan antarmuka sumber data JDBC dasar untuk mengonfigurasi sumber daya untuk objek koneksi JDBC.
Banyak aplikasi MyBatis akan mengkonfigurasi sumber data seperti yang ditunjukkan dalam contoh. Namun, itu tidak perlu. Anda harus tahu bahwa untuk memfasilitasi penggunaan pemuatan malas, sumber data diperlukan.
Ada tiga jenis sumber data bawaan (yaitu, type = "???"):
Unpooled implementasi sumber data ini adalah untuk hanya membuka dan menutup koneksi setiap kali diminta. Agak lambat, yang merupakan pilihan tepat untuk aplikasi sederhana, karena tidak memerlukan koneksi yang tersedia tepat waktu. Basis data yang berbeda juga berkinerja berbeda pada hal ini, jadi untuk beberapa database, tidak penting untuk mengonfigurasi sumber data, dan konfigurasi ini juga menganggur. Sumber data tipe yang tidak dikelilingi hanya digunakan untuk mengonfigurasi 5 properti berikut:
Sebagai opsi, Anda dapat melewati properti driver basis data. Untuk melakukan ini, awalan atribut dimulai dengan "driver." Misalnya:
driver.encoding = utf8
Ini akan memberikan nilai "UTF8" untuk melewati properti "Encoding", yang diteruskan ke driver database melalui metode DriverManager.getConnection (URL, DriverProperties).
Pooled Ini adalah implementasi dari kumpulan koneksi sumber data untuk objek koneksi JDBC, yang digunakan untuk menghindari koneksi awal yang diperlukan dan waktu otentikasi saat membuat instance koneksi baru. Ini adalah metode populer yang saat ini digunakan oleh aplikasi web untuk menanggapi permintaan dengan cepat.
Selain atribut di atas (tidak dikelilingi), ada banyak atribut yang dapat digunakan untuk mengonfigurasi sumber data yang dikumpulkan:
Di antara mereka, konfigurasi sumber data JNDI hanya membutuhkan dua properti:
(1) Properti initial_context digunakan untuk menemukan lingkungan dari konteks awal (yaitu, initialContext.lookup (inisial-konteks). Ini adalah properti opsional. Jika diabaikan, properti Data_Source akan dicari lagi secara langsung dengan InitialContext sebagai latar belakang.
(2) data_source Ini adalah jalur yang merujuk konteks lokasi instance sumber data. Ini akan mencari lingkungan yang dikembalikan oleh kueri initial_context sebagai latar belakang. Jika initial_context tidak mengembalikan hasilnya, itu akan mencari konteks awal sebagai lingkungan secara langsung.
Lalu ada mapper. Mapper digunakan untuk memetakan pernyataan SQL. Pertama, saya perlu memberi tahu MyBatis di mana menemukan pernyataan SQL ini, yaitu, untuk menentukan lokasi sumber daya.
<phappers> <mapper resource = "com/tiantian/mybatis/model/blogmapper.xml"/> </phappers>
Berikut adalah file konfigurasi sederhana yang saya lakukan selama proses pengujian:
<? 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"> <donfiguration> <donfiguration> Properties> resource="config/jdbc.properties"></properties> <typeAliases> <typeAlias alias="Blog" type="com.tiantian.mybatis.model.Blog"/> </typeAliases> <environments default="development"> <environment id="development"> <transactionManager type="JDBC" /> <dataSource type="POOLED"> <property name = "driver" value = "$ {jdbc.driver}" /> <name properti = "url" value = "$ {jdbc.url}" /> <name properti = "username" value = "$ {jdbc.username}" /> <nama properti = "kata sandi value =" $ {jdbc.pord} " /> <nama properti =" kata sandi = "$ {jdbc.pord" </survirments> <phappers> <mapper resource = "com/tiantian/mybatis/model/blogmapper.xml"/> </pappers> </configuration>
File properti eksternal diimpor ke file konfigurasi di atas. Pendahuluan properti dalam file konfigurasi mybatis dapat langsung disertakan dalam elemen properti, atau dapat diperkenalkan dari luar menggunakan elemen properti, atau dapat diteruskan sebagai properti parameter saat membuat SQLSessionFactory. Karena properti dalam file konfigurasi mybatis dapat diperkenalkan dari banyak tempat, itu melibatkan masalah prioritas, dan MyBatis akan mencarinya dalam urutan berikut:
Pertama, dalam file konfigurasi, properti di badan elemen properti dibaca, dan kemudian properti dalam file properti yang diperkenalkan dari luar dibaca, yang akan menimpa properti yang sama dibaca sebelumnya. Akhirnya, properti di properti yang dilewati saat membuat SQLSessionFactory dibaca, yang juga akan menimpa properti yang sama sebelumnya.
Setelah memiliki SQLSessionFactory, Anda akan mendapatkan SQLSession tertentu. Dalam proses menggunakan mybatis, setiap operasi tidak dapat dipisahkan dari sqlsession, jadi sangat penting untuk mendapatkan sqlsession. Selain itu, SQLSession tidak dapat dibagikan dan tidak aman, jadi Anda harus membukanya setiap kali Anda membutuhkan SQLSession dan kemudian tutup setelah menggunakannya.
Sesi sqlsession = sqlSessionfactory.opensession ();
Metode SQLSessionFactory Zhonghu District SQLSESSION adalah:
Perbedaan utama mereka adalah:
Metode opensesi default tidak memiliki parameter, itu akan membuat SQLSession dengan karakteristik berikut:
ExecutorType memiliki tiga nilai:
Operasi dasar mybatis adalah untuk menambah, menghapus, memodifikasi dan memeriksa, yaitu memasukkan, menghapus, memperbarui dan memilih. Saat melakukan operasi dasar ini, Anda dapat secara langsung menggunakan SQLSession untuk mengakses pemetaan dalam file konfigurasi mapper, atau Anda dapat menggunakan antarmuka mapper yang sesuai dengan file konfigurasi mapper untuk melakukan operasi, dengan asumsi bahwa parameter dan nilai pengembalian dari metode yang ditentukan dalam file mapper harus sama dengan parameter dan nilai pengembalian yang ditentukan dalam map Mapper. Selain itu, saat menggunakan antarmuka mapper, pernyataan SQL yang sesuai dapat ditulis dalam file konfigurasi mapper, atau dapat ditandai secara langsung pada metode yang sesuai di antarmuka mapper menggunakan anotasi yang sesuai. Ini akan terlihat dalam kode contoh berikut.
Berikut adalah serangkaian kode contoh:
Posting pertama kelas alat untuk mendapatkan SQLSessionFactory:
impor java.io.ioException; impor java.io.inputstream; impor org.apache.ibatis.io.Resources; impor org.apache.ibatis.Session.SQLSessionFactory; impor org.apache.ibatis.Session.SQLSessionFactoryBuilder; kelas publik util {private static SQLSessionFactory sqlSessionFactory = null; static {try {inputStream is = Resources.getResourCeAsstream ("config/mybatis_config.xml"); SQLSessionFactory = SQLSessionFactoryBuilder baru (). Build (IS); } catch (ioException e) {// TODO AUTO-ENCEALATED Catch Block E.PrintStackTrace (); }} public static SQLSessionFactory getSQLSessionFactory () {return sqlSessionFactory; }}
File Konfigurasi MyBatis:
<? 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"> <donfiguration> <donfiguration> Properties> resource="config/jdbc.properties"></properties> <typeAliases> <typeAlias alias="Blog" type="com.tiantian.mybatis.model.Blog"/> </typeAliases> <environments default="development"> <environment id="development"> <transactionManager type="JDBC" /> <dataSource type="POOLED"> <property name = "driver" value = "$ {jdbc.driver}" /> <name properti = "url" value = "$ {jdbc.url}" /> <name properti = "username" value = "$ {jdbc.username}" /> <nama properti = "kata sandi value =" $ {jdbc.pord} " /> <nama properti =" kata sandi = "$ {jdbc.pord" </survirments> <phappers> <mapper resource = "com/tiantian/mybatis/model/blogmapper.xml"/> </pappers> </configuration>
Blogmapper.xml
<? 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"> namespace = "com.tians.mybatis.model.blogmapper"> <!-tambahkan rekaman-> <masukkan id = "sisipan" parameTerType = "blog"> masukkan ke dalam t_blog (judul, konten, pemilik) nilai (#{title},#{konten},#{pemilik}) </insert> <! ParameTerType = "int" resultType = "blog"> SELECT * Dari t_blog where id = #{id} </selection> <!-ubah catatan-> <update id = "updateBlog" parameTerType = "blog"> update t_blog title = #{title}, content = #{content}, pemilik = #o. {quer {quer {quer {{quer {content = #{content {content {content {content = Beberapa catatan untuk mengembalikan hasilnya adalah koleksi. Hasil Hasil bukan jenis koleksi, tetapi jenis yang terkandung dalam koleksi-> <pilih id = "selectAll" resultType = "blog"> pilih * dari t_blog </selection> <!-fuzzy kueri-> <pilih id = "fuzzyquery" PILIMAN "PARAMETERTEPE =" JAVA.Lang. <!-Hapus catatan-> <delete id = "deleteBlog" parameTerType = "int"> hapus dari t_blog di mana id = #{id} </delete> </mapper>Beberapa masalah yang harus dicatat dalam pernyataan pemetaan SQL:
Blog.java
paket com.tians.mybatis.model; blog kelas publik {private int id; judul string pribadi; konten string pribadi; pemilik string pribadi; publik int getId () {return id; } public void setid (int id) {this.id = id; } public String getTitle () {return title; } public void setTitle (string title) {this.title = title; } public String getContent () {return content; } public void setContent (string content) {this.content = content; } public string getOwner () {return woolher; } public void setOwner (pemilik string) {this.Owner = pemilik; } @Override public string toString () {return "id:" + id + ", title:" + title + ", konten:" + konten + ", pemilik:" + pemilik; }}
Blogmapper.java
paket com.tians.mybatis.model; impor java.util.list; impor org.apache.ibatis.annotations.delete; impor org.apache.ibatis.annotations.insert; impor org.apache.ibatis.annotations.Select; impor org.apache.ibatis.annotations.update; / *** Operasi berikut 1 menulis SQL dalam file konfigurasi, sedangkan Operasi 2 secara langsung menunjukkan pernyataan SQL yang akan dieksekusi dengan anotasi* karena nama lengkap mapper itu sama dengan namespace di peta blogmapper.xml, itu tidak dapat dimasukkan di sini* Annotation untuk mendefinisikan peta dengan nama blogmapper. SelectBlog (Int ID); @Select ("SELECT * DARI T_BLOG WHERE ID = #{ID}") Blog Publik SelectBlog2 (int ID); public void insertBlog (blog blog); @Insert ("INSERT INTO T_BLOG (Judul, Konten, Pemilik) Value (#{title},#{Content},#{own})") public void InsertBlog2 (blog blog); public void updateBlog (blog blog); @Update ("Perbarui t_blog Set title =#{title}, content =#{content}, owner =#{own} where id =#{id}") public void updateBlog2 (blog blog); public void deleteBlog (int id); @Delete ("Hapus dari T_Blog Where ID = #{id}") public void deleteBlog2 (int id); Daftar Publik <BOGAN> SelectAll (); @Select ("SELECT * DARI T_BLOG") DAFTAR PUBLIK <BOGAN> SelectAll2 (); Daftar Publik <BOGAN> FUZZYQUERY (Judul String); @Select ("SELECT * DARI T_BLOG DI MANA Judul Like/"%/"#{title}/"%/"") DAFTAR PUBLIK <BOGAN> FUZZYQUERY2 (Judul String); }
Test1.java
paket com.tians.mybatis.test; impor java.util.list; Impor org.apache.Ibatis.Session.SQLSession; impor org.junit.test; impor com.tians.mybatis.model.blog; impor com.tians.mybatis.util.util; / *** Seri operasi ini adalah dengan menulis SQL dalam file konfigurasi, dan kemudian menggunakan SQLSession untuk operasi* @author Andy**/ Public Class test1 {/ *** Tambahkan catatan*/ @test public void testInsertBlog () {sqlsession sesi Blog blog = blog baru (); blog.settitle ("Cina"); Blog.setContent ("Berapa banyak mimpi yang disembunyikan dalam angin dan hujan selama lima ribu tahun"); Blog.setowner ("Daily"); session.insert ("com.tians.mybatis.model.blogmapper.insertblog", blog); session.commit (); session.close (); } / *** Permintaan satu catatan* / @test public void testSelecTone () {sqlSession session = util.getSqlSessionFactory (). Opensession (); Blog blog = (blog) session.selectone ("com.tians.mybatis.model.blogmapper.selectblog", 8); System.out.println (blog); session.close (); } / *** Modifikasi catatan* / @test public void testupDateBlog () {sqlSession session = util.getSqlSessionFactory (). Opensession (); Blog blog = blog baru (); Blog.setid (7); // ID blog yang perlu dimodifikasi blog.settitle ("Chinese 2"); // Modifikasi Judul Blog.setContent ("Yellow Face, Black Eyes, Unhexed Smile"); // Modifikasi Content.setowner ("Day 2"); // Modify owner session.update ("COM.P.TiRANDER (" Day 2 "); // Modify owner session.update (" COM.P.TIANDOWER (MOCBLAPK. blog); session.commit (); session.close (); } / *** Permintaan semua catatan* / @test public void testSelectAll () {sqlSession session = util.getSqlSessionFactory (). Opensession (); Daftar <Bog> blog = session.selectList ("com.tians.mybatis.model.blogmapper.selectall"); untuk (blog blog: blog) system.out.println (blog); session.close (); } / *** kueri fuzzy* / @test public void testfuzzyquery () {SQLSession session = util.getSqlSessionFactory (). OpenSession (); Judul String = "China"; Daftar <Bog> blog = session.selectList ("com.tians.mybatis.model.blogmapper.fuzzyquery", judul); untuk (blog blog: blog) system.out.println (blog); session.close (); } / *** Hapus catatan* / @test public void testDeleteblog () {sqlSession session = util.getSqlSessionFactory (). Opensession (); session.delete ("com.tians.mybatis.model.blogmapper.deleteblog", 8); session.commit (); session.close (); }}
Test2.java
paket com.tians.mybatis.test; impor java.util.list; Impor org.apache.Ibatis.Session.SQLSession; impor org.junit.test; impor com.tians.mybatis.model.blog; impor com.tians.mybatis.model.blogmapper; impor com.tians.mybatis.util.util; / *** Rangkaian operasi ini adalah untuk menulis pernyataan SQL dalam file konfigurasi,* dan kemudian beroperasi melalui antarmuka mapper yang sesuai* @author Andy**/ public class test2 {/ *** Tambahkan catatan*/ @test public void testInSertBlog () {sqlSesion sesi = uTil.getSSESSESIONFACESTORY () () {SQLSESSESSION = UTIL.GETSESSESSESSIONCESSESTORY (). Blog blog = blog baru (); blog.settitle ("Cina"); Blog.setContent ("Berapa banyak mimpi yang disembunyikan dalam angin dan hujan selama lima ribu tahun"); Blog.setowner ("Daily"); BlogMapper BlogMapper = session.getMapper (blogmapper.class); blogmapper.insertblog (blog); session.commit (); session.close (); } / *** Permintaan satu catatan* / @test public void testSelecTone () {sqlSession session = util.getSqlSessionFactory (). Opensession (); BlogMapper BlogMapper = session.getMapper (blogmapper.class); Blog Blog = BlogMapper.SelectBlog (7); System.out.println (blog); session.close (); } / *** Modifikasi catatan* / @test public void testupDateBlog () {sqlSession session = util.getSqlSessionFactory (). Opensession (); Blog blog = blog baru (); blog.setId(9);// The id of the Blog that needs to be modified blog.setTitle("Chinese 2");// Modify Title blog.setContent("yellow face, black eyes, unchanged smile");// Modify Content blog.setOwner("day 2");// Modify Owner BlogMapper blogMapper = session.getMapper(BlogMapper.class); BlogMapper.updateblog (blog); session.commit (); session.close (); } / *** Permintaan semua catatan* / @test public void testSelectAll () {sqlSession session = util.getSqlSessionFactory (). Opensession (); BlogMapper BlogMapper = session.getMapper (blogmapper.class); Daftar <Blog> Blog = BlogMapper.SelectAll (); untuk (blog blog: blog) system.out.println (blog); session.close (); } / *** kueri fuzzy* / @test public void testfuzzyquery () {SQLSession session = util.getSqlSessionFactory (). OpenSession (); BlogMapper BlogMapper = session.getMapper (blogmapper.class); Judul String = "China"; Daftar <Bog> Blog = BlogMapper.fuzzyQuery (title); untuk (blog blog: blog) system.out.println (blog); session.close (); } / *** Hapus catatan* / @test public void testDeleteblog () {sqlSession session = util.getSqlSessionFactory (). Opensession (); BlogMapper BlogMapper = session.getMapper (blogmapper.class); blogmapper.deleteblog (10); session.commit (); session.close (); }}
Test3.java
paket com.tians.mybatis.test; impor java.util.list; Impor org.apache.Ibatis.Session.SQLSession; impor org.junit.test; impor com.tians.mybatis.model.blog; impor com.tians.mybatis.model.blogmapper; impor com.tians.mybatis.util.util; / ** * Rangkaian operasi ini dilakukan dengan menggunakan antarmuka mapper *, tetapi pernyataan SQL yang sesuai didefinisikan pada metode yang sesuai dalam mapper melalui * anotasi * @author andy */ test kelas publik yang sesuai (/ ** * Rekaman baru */ @test public testInsert () {sqlsessions sesi = UTIL.) (UTIL.). UTIL. UTIL. UTIL.GETION. UTIL. UTIL. UTIL. UTIL. UTIL. UTIL. UTIL. UTIL. UTIL. UTIL. BlogMapper BlogMapper = session.getMapper (blogmapper.class); Blog blog = blog baru (); blog.settitle ("title2"); blog.setContent ("content2"); Blog.setOwner ("Owner2"); blogmapper.insertblog2 (blog); session.commit (); session.close (); } / *** Temukan satu catatan* / @test public void testSelecTone () {SQLSession session = util.getSqlSessionFactory (). Opensession (); BlogMapper BlogMapper = session.getMapper (blogmapper.class); Blog Blog = BlogMapper.SelectBlog2 (1); System.out.println (blog); session.close (); } / *** Temukan beberapa catatan, kembalikan hasilnya sebagai koleksi* / @test public void testSelectAll () {SQLSession session = util.getSqlSessionFactory (). OpenSession (); BlogMapper BlogMapper = session.getMapper (blogmapper.class); Daftar <Blog> Blog = BlogMapper.SelectAll2 (); untuk (blog blog: blog) system.out.println (blog); session.close (); } / *** Ubah catatan* / @test public void testUpdate () {sqlSession session = util.getSqlSessionFactory (). Opensession (); BlogMapper BlogMapper = session.getMapper (blogmapper.class); Blog blog = blog baru (); Blog.setid (3); blog.settitle ("title3"); Blog.setContent ("Content3"); Blog.setowner ("Owner3"); blogmapper.updateblog2 (blog); session.commit (); session.close (); } / *** Hapus catatan* / @test public void testDelete () {sqlSession session = util.getSqlSessionFactory (). Opensession (); BlogMapper BlogMapper = session.getMapper (blogmapper.class); blogmapper.deleteblog2 (5); session.commit (); session.close (); } @Test public void testFuzzyQuery () {SQLSession session = util.getSqlSessionFactory (). OpenSession (); BlogMapper BlogMapper = session.getMapper (blogmapper.class); Daftar <Bog> Blog = BlogMapper.fuzzyQuery2 ("China"); untuk (blog blog: blog) system.out.println (blog); session.close (); }}Pernyataan Pembuatan Tabel yang sesuai:
Buat tabel `t_blog` (` id` int (11) bukan null auto_increment, `title` varchar (255) nol default,` content` varchar (255) nol default, `pemilik` varchar (50) nol default, kunci utama (` id`)))