MybatisPlus整合Mybatis

一.pom.xml


    <dependencies>
    <!-- mybatis-plus插件依賴 -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus</artifactId>
            <version>3.1.1</version>
        </dependency>
    <!-- MySql -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.47</version>
        </dependency>
        <!-- 連接池 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.0.11</version>
        </dependency>
        <!--簡化bean代碼的工具包-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
            <version>1.18.4</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.6.4</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

二.mybatis主配置文件【url訪問路徑】

1.圖解

圖片

2.範例

<?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://127.0.0.1:3306/db2?
                            useUnicode=true&amp;characterEncoding=utf8&amp;
                            autoReconnect=true&amp;allowMultiQuerie s=true&amp;useSSL=false"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="UserMapper.xml"/>
    </mappers>
</configuration>

三.日誌文件

log4j.rootLogger=DEBUG,A1 
log4j.appender.A1=org.apache.log4j.ConsoleAppender 
log4j.appender.A1.layout=org.apache.log4j.PatternLayout 
log4j.appender.A1.layout.ConversionPattern=[%t] [%c]-[%p] %m%n

四.映射配置文件

1.圖解

圖片

2.範例

<?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="mapper.UserMapper">
    <select id="findAll" resultType="pojo.User">
        select * from tb_user
    </select>
</mapper>

五.實體類

1.圖解

圖片

2.範例

import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor  //空參構造方法
@AllArgsConstructor //全參構造方法
@TableName("tb_user")
public class User {
    private Long id;
    private String userName;
    private String password;
    private String name;
    private Integer age;
    private String email;
}

六.dao層

1.圖解

圖片

2.範例

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import pojo.User;
import java.util.List;
/**
 * mybatisPlus整合mybatis
 */
public interface UserMapper extends BaseMapper<User> {
    public List<User> findAll();
}

七.測試類

1.使用mybatis方式

(1)代碼塊

import mapper.UserMapper;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;
import pojo.User;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
/**
 * 使用mybatis創建對象
 */
public class UserMapperTest {
    @Test
    public void test1() throws IOException {
        String resource = "mybatis-config.xml";
        //獲取配置文件位置
        InputStream in  = Resources.getResourceAsStream(resource);
        //創建工廠
        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
        //獲取執行sqlsession對象
        SqlSession sqlSession = factory.openSession();
        //獲取代理對象
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        List<User> users = mapper.findAll();
        for (User user:users) {
            System.out.println(user);
        }
    }
}

(2)範例

圖片

2.使用mybatisPlus方式

(1)代碼塊

import com.baomidou.mybatisplus.core.MybatisSqlSessionFactoryBuilder;
import mapper.UserMapper;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;
import pojo.User;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
/**
 * 測試mybatisPlus創建sqlsession對象
 */
public class MybatisPlusTest {
    @Test
    public void test1() throws IOException {
        String resource = "mybatis-config.xml";
        //獲取配置文件位置
        InputStream in  = Resources.getResourceAsStream(resource);
        //使用MybatisPlusBuilder對象創建工廠
        SqlSessionFactory factory = new MybatisSqlSessionFactoryBuilder().build(in);
        //獲取執行sqlsession對象
        SqlSession sqlSession = factory.openSession();
        //獲取代理對象
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        //參數是查詢條件,null是沒有查詢條件
        List<User> users = mapper.selectList(null); //mybatisPlus提供的方法
        for (User user:users) {
            System.out.println(user);
        }
    }
}

(2)範例

圖片

八.源碼

mybatis-plus.rar

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章