spring配合mybatis-plus简单使用

首先第一步是spring集成mybatis-plus,在mybatis-plus官方网站https://mp.baomidou.com/guide/install.html#release其实是有详细的介绍。但是作为第一次接触这个来说,自己还是遇到了很多麻烦。。。在这里记录一下

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:aop="http://www.springframework.org/schema/aop"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="
           http://www.springframework.org/schema/beans 
           http://www.springframework.org/schema/beans/spring-beans-3.2.xsd    
           http://www.springframework.org/schema/aop    
           http://www.springframework.org/schema/aop/spring-aop-3.2.xsd  
           http://www.springframework.org/schema/context    
           http://www.springframework.org/schema/context/spring-context-3.2.xsd
           http://www.springframework.org/schema/tx 
           classpath:/org/springframework/transaction/config/spring-tx-4.0.xsd">
           
    <!-- 自动扫描注解的bean -->
    <context:component-scan base-package="com.esharedpark" />

    <!-- 配置数据源 -->     
	<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
	    		
		<property name="driverClass" value="com.mysql.jdbc.Driver" />
		<property name="jdbcUrl" value="****************************************" />
		<property name="user" value="***********************************************" />
		<property name="password" value="*************************************" />	
		
		<!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。默认值: 3 -->
		<property name="acquireIncrement" value="3" />
		<!--每120秒检查所有连接池中的空闲连接。默认值: 0,不检查 -->
		<property name="idleConnectionTestPeriod" value="120" />
		<!-- 初始化连接池中的连接数,取值应在minPoolSize与maxPoolSize之间,默认为2-->
		<property name="initialPoolSize" value="3" />
		<!--连接池中保留的最小连接数。默认值: 3 -->
		<property name="minPoolSize" value="2" />
		<!--连接池中保留的最大连接数。默认值: 15 -->
		<property name="maxPoolSize" value="30" />
        <!-- 当连接池连接耗尽时,客户端调用getConnection()后等待获取新连接的时间,超时后将抛出SQLException,如设为0则无限期等待。单位毫秒。默认: 0 --> 
        <property name="checkoutTimeout" value="3000"/>
		<property name="numHelperThreads" value="3" />
		<property name="preferredTestQuery" value="select 1" />
	</bean>
	
	<!-- 配置Mybatis的sessionFactory工厂 ,mapperLocations配置**Mapper.xml文件位置,configLocation配置mybatis-config文件位置,
			原生class="org.mybatis.spring.SqlSessionFactoryBean"-->
    <bean id="sqlSessionFactory" class="com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="mapperLocations" value="classpath*:com/esharedpark/mapper/*.xml"/>
        <property name="configLocation" value="classpath:mybatis/mybatis-config.xml" />
        <!-- <property name="typeAliasesPackage" value="com.tiantian.ckeditor.model" /> -->
    </bean>

	<!-- 自动扫描了所有的XxxxMapper.xml对应的mapper接口文件,这样就不用一个一个手动配置Mpper的映射了,只要Mapper接口类和Mapper映射文件对应起来就可以了。 -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com/esharedpark/dao"/>
        <!--  <property name="SqlSessionFactoryBeanName" value="sqlSessionFactory" />-->
        <!-- 只有指定了@Repository标注才能扫描成为Mapper 
        <property name="annotationClass" value="org.springframework.stereotype.Repository" />-->
    </bean>
    
    <!-- 配置数据源失误管理器 -->
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    	<property name="dataSource" ref="dataSource"/>
    </bean>
</beans>

在这里面需要注意的地方:
1、原生的SqlSessionFactoryBean需要被MybatisSqlSessionFactoryBean取代才可以。(否则会报错)
2、扫描所有mapper接口文件,其中value只需要写自己的dao层文件就可以了,不需要按照mybatis-plus官网写成com.baomidou.mybatisplus.samples.quickstart.mapper。(我按照官网写报错)

pom.xml文件

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.ssm</groupId>
  <artifactId>esharedpark</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>esharedpark Maven Webapp</name>
  <url>http://maven.apache.org</url>
  
  <properties>
		<!-- spring版本号 -->
	    <spring.version>4.2.1.RELEASE</spring.version>
		<!-- log4j日志文件管理包版本 -->
		<slf4j.version>1.7.7</slf4j.version>
	    <log4j.version>1.2.17</log4j.version>
	    <!-- junit版本号 -->  
	    <junit.version>4.12</junit.version>  
	    <!-- mybatis版本号 -->
	   	<mybatis.version>3.2.1</mybatis.version>
	   	<java-version>1.8</java-version>
  </properties>  

  <dependencies>
  		<!-- mybatis-plus -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus</artifactId>
            <version>3.2.0</version>
        </dependency>
        
    	<!-- 添加Spring依赖 -->  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-core</artifactId>  
            <version>${spring.version}</version>  
        </dependency>  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-webmvc</artifactId>  
            <version>${spring.version}</version>  
        </dependency>  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-context</artifactId>  
            <version>${spring.version}</version>  
        </dependency>  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-context-support</artifactId>  
            <version>${spring.version}</version>  
        </dependency>  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-aop</artifactId>  
            <version>${spring.version}</version>  
        </dependency>  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-aspects</artifactId>  
            <version>${spring.version}</version>  
        </dependency>  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-tx</artifactId>  
            <version>${spring.version}</version>  
        </dependency>  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-jdbc</artifactId>  
            <version>${spring.version}</version>  
        </dependency>  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-web</artifactId>  
            <version>${spring.version}</version>  
        </dependency>   
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-websocket</artifactId>  
            <version>${spring.version}</version>  
        </dependency>  
  
        <!--单元测试依赖 -->  
        <dependency>  
            <groupId>junit</groupId>  
            <artifactId>junit</artifactId>  
            <version>${junit.version}</version>  
            <scope>test</scope>  
        </dependency>  
  
        <!-- 日志文件管理包 -->  
        <!-- log start -->  
        <dependency>  
            <groupId>log4j</groupId>  
            <artifactId>log4j</artifactId>  
            <version>${log4j.version}</version>  
        </dependency>  
        <dependency>  
            <groupId>org.slf4j</groupId>  
            <artifactId>slf4j-api</artifactId>  
            <version>${slf4j.version}</version>  
        </dependency>  
        <dependency>  
            <groupId>org.slf4j</groupId>  
            <artifactId>slf4j-nop</artifactId>  
            <version>${slf4j.version}</version>  
        </dependency>  
        <dependency>  
            <groupId>org.slf4j</groupId>  
            <artifactId>slf4j-log4j12</artifactId>  
            <version>${slf4j.version}</version>  
        </dependency>  
        <!-- log end -->  
  
        <!--spring单元测试依赖 -->  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-test</artifactId>  
            <version>${spring.version}</version>  
            <scope>test</scope>  
        </dependency>  
  
        <!--mybatis依赖 -->
        <!--  
        <dependency>  
            <groupId>org.mybatis</groupId>  
            <artifactId>mybatis</artifactId>  
            <version>${mybatis.version}</version>  
        </dependency>  -->
  
        <!-- mybatis/spring包 -->
        <!--  
        <dependency>  
            <groupId>org.mybatis</groupId>  
            <artifactId>mybatis-spring</artifactId>  
            <version>2.0.2</version>  
        </dependency> -->
  
        <!-- mysql驱动包 -->  
        <dependency>  
            <groupId>mysql</groupId>  
            <artifactId>mysql-connector-java</artifactId>  
            <version>5.1.29</version>
        </dependency>
        
        <!-- c3p0数据库连接池驱动包 -->
		<dependency>
	        <groupId>c3p0</groupId>
	        <artifactId>c3p0</artifactId>
	        <version>0.9.2.1</version>
	    </dependency>

        <!-- 通信接口参数验证框架 -->
        <dependency>
		    <groupId>org.hibernate</groupId>
		    <artifactId>hibernate-validator</artifactId>
		    <version>6.0.7.Final</version>
		</dependency>

        <dependency>
 			<groupId>javax</groupId>
	 		<artifactId>javaee-web-api</artifactId>
	 		<version>7.0</version>
	 		<scope>provided</scope>
	 	</dependency>
	 	
	 	<dependency>
		    <groupId>com.mchange</groupId>
		    <artifactId>mchange-commons-java</artifactId>
		    <version>0.2.3.4</version>
		</dependency>

  </dependencies>
  <build>
		<plugins>
		    <plugin>
	            <groupId>org.apache.maven.plugins</groupId>
	            <artifactId>maven-war-plugin</artifactId>
	            <version>2.6</version>
	            <configuration>
	                <failOnMissingWebXml>false</failOnMissingWebXml>
	            </configuration>
        	</plugin>
		
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<encoding>UTF-8</encoding>
					<source>1.8</source>
					<target>1.8</target>
				</configuration>
			</plugin>
		</plugins>
	</build>

</project>

在这里面需要注意的地方:
1、导入mybatis-plus选择官网的最新版,导入之后就不要再添加mybatis和mybatis-spring,因为会自动添加的(主要是怕自己到,版本会有问题)
2、maven若是aliyun的中心库,我自己是没法自动导入最新版本的mybatis和mybatis-spring的jar文件,需要自己去下载,添加到里面

目前自己遇到的需要注意的地方就这些了,之后再慢慢记录,至于代码部分就不贴了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要搭建Spring框架集成MyBatis-Plus,首先需要使用Spring Boot框架作为基础,因为Spring Cloud离不开Spring Boot的基础。掌握在Spring Boot上集成MyBatis-Plus是一个很重要的技能。 以下是一个完整的示例代码,演示了如何在Spring Boot中集成MyBatis-Plus: 1. 创建一个启动类,使用@SpringBootApplication注解,并使用@MapperScan指定Mapper接口的扫描路径。该类的代码如下: ```java @SpringBootApplication @MapperScan("com.qf.mapper") public class App { public static void main(String[] args) { SpringApplication.run(App.class, args); } } ``` 2. 创建一个Mapper接口,例如UserMapper,使用MyBatis-Plus提供的通用Mapper接口,并定义相关的SQL操作。示例代码如下: ```java import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.qf.entity.User; public interface UserMapper extends BaseMapper<User> { // 自定义SQL操作 // ... } ``` 3. 创建一个测试类,使用@SpringBottTest注解,并使用@Autowired注入UserMapper,通过调用UserMapper的方法来操作数据库。示例代码如下: ```java import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import com.qf.entity.User; import com.qf.mapper.UserMapper; @RunWith(SpringRunner.class) @SpringBootTest public class TestMybatisSpringBoot { @Autowired private UserMapper userMapper; @Test public void testSelectList() { List<User> users = this.userMapper.selectList(null); for (User user : users) { System.out.println(user); } } } ``` 通过以上步骤,就可以搭建一个基于Spring Boot的MyBatis-Plus项目,并且实现基本的数据库操作。在启动类中,使用@MapperScan注解指定Mapper接口的扫描路径,让Spring Boot能够自动加载这些Mapper接口。同时,在测试类中,使用@Autowired注入UserMapper,并通过调用UserMapper的方法来操作数据库。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [springboot集成mybatis-plus的demo基础搭建](https://download.csdn.net/download/zh_chong/83169592)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Spring-mybatis-plus 整合spring](https://blog.csdn.net/m0_71255572/article/details/125695308)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值