Rumah  >  Artikel  >  Java  >  Analisis contoh permulaan cepat MyBatis di Jawa

Analisis contoh permulaan cepat MyBatis di Jawa

PHPz
PHPzke hadapan
2023-05-10 08:16:071470semak imbas

    1 Apa itu MyBatis

    Ringkasnya, MyBatis是一款优秀的持久层框架,用于简化JDBC开发. MyBatis sendiri adalah projek sumber terbuka Apache Ia pada asalnya dipanggil iBatis Pada tahun 2010, projek itu telah dipindahkan ke Kod Google dan dinamakan semula MyBatista. Pada tahun 2013 projek itu telah dipindahkan ke GitHub. Bagaimanakah anda memahami lapisan kegigihan dalam konsep

    ? Ia merujuk kepada lapisan kod yang menyimpan data ke pangkalan data. Dalam kod besar-besaran, untuk memastikan setiap keping kod mempunyai tanggungjawab tunggal, kod yang beroperasi pada pangkalan data yang sama dipanggil 持久层. Pada masa yang sama, dalam seni bina tiga peringkat JavaEE, 表现层 bertanggungjawab untuk paparan halaman, 业务层 bertanggungjawab untuk pemprosesan logik, dan lapisan kegigihan bertanggungjawab untuk menyimpan data dalam pangkalan data.

    Apakah rangka kerja itu menjimatkan kos dan lebih standard, serba boleh dan berskala. 半成品的软件2. Kelemahan JDBC

    Memandangkan kami menggunakan MyBatis untuk memudahkan pembangunan JDBC, apakah kekurangan JDBC?

    Pengekodan keras

    Pertama sekali, semasa mendaftarkan pemandu dan mendapatkan pautan, jika maklumat rentetan berubah, seperti kata laluan, ia perlu diubah suai secara manual. Kedua, apabila mentakrifkan pernyataan sql, menggunakan rentetan juga menjadikan kod kurang boleh diselenggara.

    Operasi yang rumit

    Apabila kami menetapkan parameter secara manual dan menetapkan set hasil secara manual, terdapat masalah operasi yang menyusahkan.

    Kod berikut yang digunakan oleh JDBC ditunjukkan:

    Analisis contoh permulaan cepat MyBatis di Jawa3 Mybatis memudahkan pembangunan JDBC

    Memandangkan pengekodan keras dalam pembangunan JDBC. , operasi Kelemahan rumit, jadi bagaimana untuk menyelesaikan masalah ini? Pertama, kami menulis rentetan ke dalam fail konfigurasi yang berasingan untuk menyelesaikan masalah pengekodan keras JDBC Kedua, kami boleh menggunakan kaedah untuk melengkapkan kod operasi JDBC yang membosankan. Oleh itu, kami menggunakan MyBatis untuk memudahkan pembangunan JDBC.

    MyBatis免除了几乎所有的JDBC代码以及设置参数和获取结果集的工作。Contohnya: tulis maklumat parameter dalam fail konfigurasi dan baca terus apabila digunakan pada masa hadapan untuk menyelesaikan masalah pengekodan keras

    <environment id="test">
                <transactionManager type="JDBC"/>
                <dataSource type="POOLED">
                    <!--数据库连接信息-->
                    <property name="driver" value="com.mysql.jdbc.Driver"/>
                    <property name="url" value="jdbc:mysql:///mybatis?useSSL=false"/>
                    <property name="username" value="root"/>
                    <property name="password" value="1234"/>
                </dataSource>
            </environment>
        </environments>

    Terdapat banyak pilihan untuk lapisan kegigihan rangka kerja di pasaran Walau bagaimanapun, MyBatis mempunyai bahagian penggunaan yang besar dalam pasaran domestik.

    4. Permulaan pantas MyBatis | jadual pengguna dan meletakkannya dalam objek pengguna, dan selesaikan operasi dengan meletakkan satu sama lain ke dalam set masing-masing. Lengkapkan operasi melalui langkah berikut:

    Buat jadual pengguna, tambah data

    1. Buat modul, import koordinat

    2. Tulis fail konfigurasi teras MyBatis dan gantikan maklumat sambungan untuk menyelesaikan masalah berkod keras

    3. Tulis fail pemetaan SQL untuk mengurus pernyataan sql secara seragam dan menyelesaikan masalah pengekodan

    4. Menulis kod

    5. Gunakan langkah berikut semasa menulis kod:

    Tentukan kelas POJO

    1. Muat fail konfigurasi teras, dapatkan objek sqlSessionFactory

    2. Dapatkan objek sqlSession, laksanakan pernyataan sql

    3. Release sumber

    4. Paparan keseluruhan struktur projek:

    Demonstrasi berikut menggunakan demonstrasi terperinci untuk memulakan MyBatis dengan cepat: Analisis contoh permulaan cepat MyBatis di Jawa

    Buat jadual pengguna dan tambah data:

    create database mybatis;
    use mybatis;
    drop table if exists tb_user;
    create table tb_user(
    	id int primary key auto_increment,
    	username varchar(20),
    	password varchar(20),
    	gender char(1),
    	addr varchar(30)
    );
    INSERT INTO tb_user VALUES (1, &#39;小张&#39;, &#39;abc&#39;, &#39;男&#39;, &#39;北京&#39;);
    INSERT INTO tb_user VALUES (2, &#39;小李&#39;, &#39;123&#39;, &#39;女&#39;, &#39;天津&#39;);
    INSERT INTO tb_user VALUES (3, &#39;小美&#39;, &#39;456&#39;, &#39;女&#39;, &#39;上海&#39;);

    Pangkalan data MySQL digunakan di sini, dan navicat digunakan sebagai alat visualisasi pangkalan data.

    Analisis contoh permulaan cepat MyBatis di Jawa

    Buat modul dalam idea dan import koordinat:

    Klik Projek Baharu dalam idea, pilih Maven untuk sistem binaan dan masukkan nama projek (MyBatis-demo digunakan di sini), Tetapkan ID kumpulan dan ID artifak dan klik Buat. Seterusnya, import kebergantungan dan letakkan kod kebergantungan berikut dalam fail pom.xml:

    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>x.x.x</version>
    </dependency>
    Seterusnya, import kebergantungan mysql, koordinat junit dan koordinat log balik dan tampal fail konfigurasi logback.xml ke dalam sumber:

    <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.13</version>
                <scope>test</scope>
            </dependency>
            <!-- 添加slf4j日志api -->
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>1.7.20</version>
            </dependency>
            <!-- 添加logback-classic依赖 -->
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-classic</artifactId>
                <version>1.2.3</version>
            </dependency>
            <!-- 添加logback-core依赖 -->
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-core</artifactId>
                <version>1.2.3</version>
            </dependency>

    Tulis fail konfigurasi teras MyBatis:

    Buat fail konfigurasi baharu mybatis.config.xml dalam MyBatis-demo/src/main/resources.

    <?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">
    <configuration>
        <environments default="development">
            <environment id="development">
                <transactionManager type="JDBC"/>
                <dataSource type="POOLED">
                    <!--数据库连接信息-->
                    <property name="driver" value="com.mysql.jdbc.Driver"/>
                    <property name="url" value="jdbc:mysql:///mybatis?useSSL=false"/>
                    <property name="username" value="root"/>
                    <property name="password" value="abc123"/>
                </dataSource>
            </environment>
        </environments>
        <mappers>
            <!--加载sql的映射文件-->
            <mapper resource="UerMapper.xml"/>
        </mappers>
    </configuration>

    Tulis fail pemetaan SQL:

    Tambah fail pemetaan sql UserMapper.xml dalam MyBatis-demo/src/main/resources.

    <?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 namespace="test">
        <select id="selectAll" resultType="com.example.pojo.User">
            select * from tb_user;
        </select>
    </mapper>
    Ubah suai fail konfigurasi teras MyBatis untuk memuatkan fail pemetaan sql.

      <mappers>
            <!--加载sql的映射文件-->
            <mapper resource="UserMapper.xml"/>
      </mappers>

    Selepas menyelesaikan operasi di atas, anda boleh mulakan pengekodan Pertama, tentukan kelas POJO:

    package com.example.pojo;
    public class User {
        private Integer id;
        private String username;
        private String password;
        private String gender;
        private String addr;
        public Integer getId() {
            return id;
        }
        public String getUsername() {
            return username;
        }
        public String getPassword() {
            return password;
        }
        public String getGender() {
            return gender;
        }
        public String getAddr() {
            return addr;
        }
        @Override
        public String toString() {
            return "User{" +
                    "id=" + id +
                    ", username=&#39;" + username + &#39;\&#39;&#39; +
                    ", gender=&#39;" + gender + &#39;\&#39;&#39; +
                    ", addr=&#39;" + addr + &#39;\&#39;&#39; +
                    &#39;}&#39;;
        }
    }

    Muat fail konfigurasi teras dan dapatkan sqlSessionFactory. objek:

    Pertama, anda perlu mencipta fail MyBatisDemo.java, menambah kaedah utama dan menulis kod.

    public class MyBatisDemo {
        public static void main(String[] args) throws IOException {
        	//加载MyBatis核心配置文件
            String resource = "mybatis.config.xml";
            InputStream inputStream = Resources.getResourceAsStream(resource);
            SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        }
    }

    获取sqlSession对象,执行sql语句:

    //获取SqlSession对象,用它来执行sql
            SqlSession sqlSession=sqlSessionFactory.openSession();
            //执行sql
            List<User> users = sqlSession.selectList("test.selectALL");
            System.out.println(users);
    		//释放资源
            sqlSession.close();

    到这里我们就完成了整个项目的构建,接下来我们运行程序,可以看到,我们成功的查询到tb_user中的数据!

    Analisis contoh permulaan cepat MyBatis di Jawa

    Atas ialah kandungan terperinci Analisis contoh permulaan cepat MyBatis di Jawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Kenyataan:
    Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam