1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        MyBatis Plus入門使用

        共 11151字,需瀏覽 23分鐘

         ·

        2021-03-26 08:38

        點擊上方藍色字體,選擇“標星公眾號”

        優(yōu)質文章,第一時間送達

         

        Mybatis在持久層框架中還是比較火的,可以通過解析xml文件中的SQL語句,從而操作數(shù)據(jù)庫。但由于需要寫SQL語句,所以會產(chǎn)生大量的xml文件,而且還存在著大量的簡單的CRUD語句,這無疑大大降低了程序員的開發(fā)效率,MyBatis-Plus正好彌補了這些短板。


        MyBatis Plus 是國內人員開發(fā)的 MyBatis 增強工具,在 MyBatis 的基礎上只做增強不做改變,為簡化開發(fā)、提高效率而生。MyBatis Plus 的核心功能有:支持通用的 CRUD、代碼生成器與條件構造器。


        MyBatis-Plus 入門

        本示例程序是基于JDK 1.8 + MySql 8.0 + Maven 3.6.1 + IDEA2020的基礎上進行開發(fā)的


        1.創(chuàng)建Maven工程,引入核心依賴

        <!-- https://mvnrepository.com/artifact/com.baomidou/mybatis-plus -->
        <!--mybatis-plus依賴-->
                <dependency>
                    <groupId>com.baomidou</groupId>
                    <artifactId>mybatis-plus</artifactId>
                    <version>2.3</version>
                </dependency>
                <dependency>
                    <groupId>mysql</groupId>
                    <artifactId>mysql-connector-java</artifactId>
                    <version>5.1.47</version>
                </dependency>
                <!--lombok依賴-->
               <dependency>
                    <groupId>org.projectlombok</groupId>
                    <artifactId>lombok</artifactId>
                    <version>1.18.16</version>
                </dependency>
                <!-- https://mvnrepository.com/artifact/log4j/log4j -->
                <dependency>
                    <groupId>log4j</groupId>
                    <artifactId>log4j</artifactId>
                    <version>1.2.17</version>
                </dependency>
                <dependency>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-orm</artifactId>
                    <version>5.0.5.RELEASE</version>
                </dependency>
                <dependency>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-context</artifactId>
                    <version>5.0.5.RELEASE</version>
                </dependency>


        2.配置數(shù)據(jù)源,整合Spring與mybatis-plus


        (1)數(shù)據(jù)源 jdbc.properties

        jdbc.driver=com.mysql.jdbc.Driver
        jdbc.url=jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true
        jdbc.username=root
        jdbc.password=root


        (2)MyBatis 全局配置文件 mybatis-config.xml

        <?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>
        </configuration>


        (3) Spring 配置文件 spring-dao.xml

        <?xml version="1.0" encoding="UTF-8"?>
        <beans xmlns="http://www.springframework.org/schema/beans"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xmlns:p="http://www.springframework.org/schema/p"
               xmlns:aop="http://www.springframework.org/schema/aop"
               xmlns:context="http://www.springframework.org/schema/context"
               xmlns:jee="http://www.springframework.org/schema/jee"
               xmlns:tx="http://www.springframework.org/schema/tx"
               xsi:schemaLocation="
                http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
                http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
                http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
                http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-4.0.xsd
                http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd"
        >

            <!-- 配置整合mybatis-plus過程 -->
            <!-- 1、配置數(shù)據(jù)庫相關參數(shù)properties -->
            <context:property-placeholder location="classpath:jdbc.properties" />
            <!-- 2、配置數(shù)據(jù)庫連接池 -->
            <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
                <property name="driverClassName" value="${jdbc.driver}"/>
                <property name="url" value="${jdbc.url}"/>
                <property name="username" value="${jdbc.username}"/>
                <property name="password" value="${jdbc.password}"/>
            </bean>

            <!-- mybatis的sqlsessionFactorybean:org.mybatis.spring.SqlSessionFactoryBean-->
            <!-- 3、配置mybatis-plus的sqlSessionFactory -->
            <bean id="sqlSessionFactory" class="com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean">
                <property name="dataSource" ref="dataSource" />
                <property name="configLocation" value="classpath:mybatis-config.xml"/>
                <property name="typeAliasesPackage" value="entity"/>
            </bean>

            <!-- 4、DAO接口所在包名,Spring會自動查找其下的類 -->
            <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
                <property name="basePackage" value="dao" />
                <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
            </bean>
        </beans>


        3.編寫實體和接口

        (1)實體類 entity.Student

        package entity;

        import com.baomidou.mybatisplus.annotations.TableField;
        import com.baomidou.mybatisplus.annotations.TableId;
        import com.baomidou.mybatisplus.annotations.TableName;
        import com.baomidou.mybatisplus.enums.IdType;
        import lombok.Data;

        @Data
        @TableName("t_student")//與表名對應
        public class Student {

            //value與數(shù)據(jù)庫主鍵列名一致,若實體類屬性名與表主鍵列名一致可省略value
            @TableId(value = "id",type = IdType.AUTO)//指定自增策略
            private Integer id;
            //若沒有開啟駝峰命名,或者表中列名不符合駝峰規(guī)則,可通過該注解指定數(shù)據(jù)庫表中的列名,exist標明數(shù)據(jù)表中有沒有對應列
        //    @TableField(value = "sno",exist = true)
            private String sno;
        //    @TableField(value = "sname",exist = true)
            private String sname;
        //    @TableField(value = "sex",exist = true)
            private String sex;

        }


        (2) 編寫接口 dao.StudentDao

        package dao;

        import com.baomidou.mybatisplus.mapper.BaseMapper;
        import entity.Student;

        //接口繼承BaseMapper<>
        public interface StudentDao extends BaseMapper<Student> {
        }



        4.測試

        (1)數(shù)據(jù)庫連接測試

        import dao.StudentDao;
        import entity.Student;
        import org.junit.Test;
        import org.junit.runner.RunWith;
        import org.springframework.beans.factory.annotation.Autowired;
        import org.springframework.test.context.ContextConfiguration;
        import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

        import javax.sql.DataSource;
        import java.sql.SQLException;

        @RunWith(SpringJUnit4ClassRunner.class)
        @ContextConfiguration({"classpath:spring-dao.xml"})
        public class test {

            @Autowired
            private DataSource dataSource;

            @Autowired
            private StudentDao dao;

            @Test
            public void testDataSource() throws SQLException {
                System.out.println(dataSource.getConnection());
            }

        (2)數(shù)據(jù)庫更新操作測試

        @Test
            public void testInsert(){
                Student student = new Student();
                student.setSno("123456");
                student.setSex("男");
                student.setSname("wyc");
                dao.insert(student);
            }


        (3)數(shù)據(jù)庫查詢操作測試

        @Test
            public void testSelect(){
                System.out.println(dao.selectById(97));
            }


        ————————————————

        版權聲明:本文為CSDN博主「Ego1stZz」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權協(xié)議,轉載請附上原文出處鏈接及本聲明。

        原文鏈接:

        https://blog.csdn.net/qq_43739109/article/details/114991777




        粉絲福利:Java從入門到入土學習路線圖

        ??????

        ??長按上方微信二維碼 2 秒


        感謝點贊支持下哈 

        瀏覽 106
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            午夜免费电影 | 天天操夜夜拍天天射 | 牛牛精品一区二区 | 亚洲中文无码电影 | 岳穿着丝袜让我爽了 | 天天插天天狠天天透 | 国产久久久久久久久 | 波多野结衣无码在线 | 国产成a人亚洲精v | xxxx网站 |