Mybatis membutuhkan paket JAR:
Dua paket stoples perlu direferensikan, satu adalah mybatis dan yang lainnya adalah MySQL-connector-Java . Jika itu adalah proyek Maven, tambahkan dependensi dalam POM sebagai berikut.
<dependency> <GroupId> org.mybatis </groupid> <ArtifactId> mybatis </artifactid> <version> 3.2.3 </version> </dependency> <dependency> <groupid> mysql </sroupid> <ArTifacTid> </Version.1 </Version.
Persiapan Data:
Buat data titik di MySQL untuk pengujian:
Buat database mybatis_test; buat pengguna tabel (usia integer bukan null, nama varchar (64) bukan null default ''); masukkan nilai pengguna (18, 'zhanjindong'); masukkan nilai pengguna (20, 'zhangsan');
File Konfigurasi:
Diperlukan dua jenis file konfigurasi. Salah satunya adalah file konfigurasi mybatis mybatis-config.xml. Dalam contoh, ini adalah konfigurasi yang sangat sederhana. Ada banyak instruksi untuk konfigurasi terperinci di internet.
<? 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"> <konfigurasi> <konfigurasi> <ngaliburasi> <ponning>-changeult dari dari for! name = "Cacheenabled" value = "false" /> <setting name = "useGeneratedKeys" value = "true" /> <setting name = "defaultExecutorType" value = "reuse" /> < /settings> <ypypealiases> <yypealis alias = "pengguna" type = "test.mybatas.user" id = "pengembangan"> <transactionManager type = "jdbc"/> <datasource type = "pooled"> <properti name = "driver" value = "com.mysql.jdbc.driver"/> <name properti = "url" value = "jdbc: mysql: //192.168.71:" "" " name = "nama pengguna" value = "root"/> <properti name = "password" value = "123456"/> </dateSource> </urvence> </preenments> <mappers> <mapper resource = "mappers/usermapper.xml"/> </mappers> </konfigurasi>
Jenis lain adalah file pemetaan antarmuka akses data: dalam contoh itu adalah usermapper.xml. File ini dapat ditemukan oleh SRC/Main/Resource atau subdirektori mybatis. Ini ditentukan oleh sumber daya node pemetih/mapper di mybatis-config.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">" nampers.mapper.mapper = "mapper. Namespace harus menjadi jalur antarmuka usermapper "-> <insert id =" insertUser "parameTerType =" user "> masukkan ke dalam nilai pengguna (nama, usia) (#{name},#{usia}) <!-di sini, tidak ada titik koma yang dilaporkan di akhir SQL, jika tidak, kesalahan" ora-oM-001111111. di antarmuka usermapper-> <pilih id = "getUser" resultType = "user" parameTerType = "java.lang.string"> Pilih * dari pengguna where name =#{name} </pilih> </mapper>File pemetaan yang sesuai adalah antarmuka usermapper di bawah namespace test.mybatis, yang hanya mendefinisikan antarmuka untuk mengakses tabel data:
Paket test.mybatis; antarmuka publik usermapper {public void insertUser (pengguna pengguna); pengguna publik getuser (nama string);}Butuh pojo: user.java
paket test.mybatis; pengguna kelas publik {name string privat; usia bilangan bulat pribadi; public string getName () {return name; } public void setName (name string) {this.name = name; } getage integer publik () {usia kembali; } public void setage (usia integer) {this.age = usia; } pengguna publik (nama string, usia integer) {super (); this.name = name; this.age = usia; } pengguna publik () {super (); }}tes:
Operasi database MyBatis menggunakan kelas yang disebut SQLSession. Kelas ini dihasilkan melalui SQLSessionFactory. Secara umum disarankan untuk mempertahankan SQLSessionFactory secara global.
Testmybatis.javapackage test.mybatis; impor java.io.ioException; impor java.io.reader; org.apache.ibatis.io.Resources; impor org.apache.ibatis.session.sqlsessionFactory; impor org.apache.apache.ibatis.sessiessiesporyf Mybatisutil {private final static SQLSessionFactory SQLSessionFactory; static {string resource = "mybatis-config.xml"; Pembaca pembaca = null; coba {reader = resource.getResourceasReader (sumber daya); } catch (ioException e) {System.out.println (e.getMessage ()); } sqlSessionFactory = SQLSessionFactoryBuilder baru (pembaca); } public static SQLSessionFactory getSQLSessionFactory () {return sqlSessionFactory; }}Kode tes adalah sebagai berikut:
Testmybatis.javapackage test.mybatis; impor org.apache.iathis.Session.sqlSession; impor org.apache.atis.Session.sqlsessionFactory; testmybatis {static sqlSessionFactory sqlsessionFactory class = null; static {sqlSessionFactory = mybatisutil.getsqlSessionFactory (); } public static void main (string [] args) {testAdd (); getUser (); } public static void testAdd () {sqlsession sqlSession = sqlSessionFactory.opensession (); coba {usermapper usermapper = sqlSession.getMapper (usermapper.class); Pengguna pengguna = pengguna baru ("lisi", integer baru (25)); usermapper.insertuser (pengguna); sqlSession.Commit (); // Anda harus mengirimkan di sini, jika tidak data tidak akan memasukkan database} akhirnya {sqlSession.close (); }} public static void getUser () {sqlSession sqlSession = sqlSessionFactory.opensession (); coba {usermapper usermapper = sqlSession.getMapper (usermapper.class); Pengguna pengguna = userMapper.getUser ("zhangsan"); System.out.println ("Nama:" + user.getName () + "| usia:" + user.getage ()); } akhirnya {sqlsession.close (); }}}1. Mybatis akan menggunakan log4j untuk merekam log, tetapi menyalakan mode debug tampaknya memiliki dampak yang sangat kuat pada kinerja.
2. Cache kueri Mybatis memiliki dampak yang sangat besar pada kinerja, dan kesenjangan antara memungkinkan dan tidak memungkinkan sangat besar.
Di atas adalah tutorial terperinci tentang penggunaan mybatis yang diperkenalkan kepada Anda oleh editor. Saya harap ini akan membantu Anda. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas Anda tepat waktu!