天天看點

Mybatis Plus ---入門初體驗Mybatis Plus —入門初體驗(內建MybatisPlus)

Mybatis Plus —入門初體驗(內建MybatisPlus)

>>>>>>>>>上一系列介紹了Mybatis, 可以滿足日常開發的使用

>>>>>>>>>接下來的一系列主要介紹Mybatis Plus

簡介

MyBatis-Plus(簡稱 MP),是一個 MyBatis 的增強工具包,隻做增強不做改變. 為簡化開發工作、提高生産率而生

願景是成為 Mybatis 最好的搭檔,使效率翻倍。

官方位址: 官方位址

代碼釋出位址: Github — Gitee

文檔釋出位址: 文檔釋出位址

所需知識 : Mybatis / Spring / Maven

  • 內建Mybatis Plus

一丶建立測試表:

Mybatis Plus ---入門初體驗Mybatis Plus —入門初體驗(內建MybatisPlus)

二丶建立對應的JavaBean:

代碼中出現的注解可先忽略,下面會做解釋
/*
 * MybatisPlus會預設使用實體類的類名到資料中找對應的表. 
 * 
 */
//@TableName(value="tbl_employee")
public class Employee {
	/*
	 * @TableId:
	 * 	 value: 指定表中的主鍵列的列名, 如果實體屬性名與列名一緻,可以省略不指定. 
	 *   type: 指定主鍵政策. 
	 */
	//@TableId(value="id" , type =IdType.AUTO)
	private Integer id ;  
	@TableField(value = "last_name")
	private String  lastName; 
	private String  email ;
	private Integer gender; 
	private Integer age ;
	@TableField(exist=false)
	private Double salary ; 
	//此處省略 get / set / toString 方法
}
           

三丶依賴配置:

<dependencies>
  		<!-- mp依賴
  			 mybatisPlus 會自動的維護Mybatis 以及 MyBatis-spring相關的依賴
  		 -->
		<dependency>
		    <groupId>com.baomidou</groupId>
		    <artifactId>mybatis-plus</artifactId>
		    <version>2.3</version>
		</dependency>		
		<!--junit -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.9</version>
		</dependency>
		<!-- log4j -->
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>1.2.17</version>
		</dependency>
		<!-- c3p0 -->
		<dependency>
			<groupId>com.mchange</groupId>
			<artifactId>c3p0</artifactId>
			<version>0.9.5.2</version>
		</dependency>
		<!-- mysql -->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.37</version>
		</dependency>
		<!-- spring -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>4.3.10.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-orm</artifactId>
			<version>4.3.10.RELEASE</version>
		</dependency>
  </dependencies>
           
特别說明: Mybatis 及 Mybatis-Spring 依賴請勿加入項目配置,以免引起版本沖突!!!Mybatis-Plus 會自動幫你維護!

四丶加入Mybatis的全局配置檔案

整合Spring後 ,我們可以把之前寫在Mybatis配置中的一些内容寫在Spring配置檔案中,是以現在的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">
<configuration>
</configuration>
           

五丶log4j.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
 <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
   <param name="Encoding" value="UTF-8" />
   <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="%-5p %d{MM-dd HH:mm:ss,SSS} %m  (%F:%L) \n" />
   </layout>
 </appender>
 <logger name="java.sql">
   <level value="debug" />
 </logger>
 <logger name="org.apache.ibatis">
   <level value="info" />
 </logger>
 <root>
   <level value="debug" />
   <appender-ref ref="STDOUT" />
 </root>
</log4j:configuration>
           

六丶加入 db.properties 連接配接資訊配置

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mp
jdbc.username=root
jdbc.password=123456
           

七丶加入 spring 的配置檔案( applicationContext.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:context="http://www.springframework.org/schema/context"
	   xmlns:tx="http://www.springframework.org/schema/tx"
	   xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
		http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd">

	<!-- 資料源 -->
	<context:property-placeholder location="classpath:db.properties"/>
	<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
		<property name="driverClass" value="${jdbc.driver}"></property>
		<property name="jdbcUrl" value="${jdbc.url}"></property>
		<property name="user" value="${jdbc.username}"></property>
		<property name="password" value="${jdbc.password}"></property>
	</bean>
	
	<!-- 事務管理器 -->
	<bean id="dataSourceTransactionManager" 
		class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource" ref="dataSource"></property>
	</bean>
	<!-- 基于注解的事務管理 -->
	<tx:annotation-driven transaction-manager="dataSourceTransactionManager"/>
	
	<!--  配置SqlSessionFactoryBean
		Mybatis提供的: org.mybatis.spring.SqlSessionFactoryBean
		MP提供的:com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean
	 -->
	<bean id="sqlSessionFactoryBean" class="com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean">
		<!-- 資料源 -->
		<property name="dataSource" ref="dataSource"></property>
		<!--掃描Mybatis配置檔案的路徑-->
		<property name="configLocation" value="classpath:mybatis-config.xml"></property>
		<!-- 别名處理 -->
		<property name="typeAliasesPackage" value="com.atguigu.mp.beans"></property>		
		<!-- 注入全局 MP政策配置 -->
		<property name="globalConfig" ref="globalConfiguration"></property>
	</bean>
	
	<!-- 定義MybatisPlus的全局政策配置-->
	<bean id ="globalConfiguration" class="com.baomidou.mybatisplus.entity.GlobalConfiguration">
		<!-- 在2.3版本以後,dbColumnUnderline 預設值就是true -->
		<property name="dbColumnUnderline" value="true"></property>
		<!-- 全局的主鍵政策 -->
		<property name="idType" value="0"></property>
		<!-- 全局的表字首政策配置 -->
		<property name="tablePrefix" value="tbl_"></property>
	</bean>
	
	<!--配置mybatis 掃描mapper接口的路徑 -->
	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<property name="basePackage" value="com.atguigu.mp.mapper"></property>
	</bean>
</beans>
           

八丶測試

測試 Spring-Mybatis 的環境
@Test
	public void testDataSource() throws Exception {
		DataSource ds  = ioc.getBean("dataSource",DataSource.class);
		System.out.println(ds);
		Connection conn = ds.getConnection();
		System.out.println(conn);
	}
           

九丶回顧

1)Mybatis-Plus 的內建非常簡單,對于 Spring,我們僅僅需要把 Mybatis 自帶的MybatisSqlSessionFactoryBean 替換為 MP 自帶的即可。
Mybatis Plus ---入門初體驗Mybatis Plus —入門初體驗(內建MybatisPlus)

END…

以上就是在Mybatis中內建Mybatis Plus的過程,歡迎參考交流…