mybatis与spring集成与spring aop集成pagehelper插件

Mybatis与Spring的集成

Mybatis是一款轻量级的ORM框架,而Spring是一个全栈式的框架,二者的结合可以让我们更加高效地进行数据持久化操作。

Mybatis与Spring的集成主要有两种方式:使用Spring的Mybatis支持和使用Mybatis的Spring支持。

使用Spring的Mybatis支持:

1. 在Spring的配置文件中配置数据源和事务管理器。
2. 在Mybatis的配置文件中定义数据源和事务管理器。
3. 在Spring的配置文件中定义SqlSessionFactory,将Mybatis的配置文件进行引入。
4. 在Spring的配置文件中定义MapperScannerConfigurer,用于扫描Mapper接口,并将其与SqlSessionFactory进行绑定。

使用Mybatis的Spring支持:

1. 在Spring的配置文件中配置数据源和事务管理器。
2. 在Mybatis的配置文件中定义数据源和事务管理器。
3. 在Spring的配置文件中定义MapperFactoryBean,将Mapper接口与SqlSessionFactory进行绑定。

无论使用哪种方式,我们都需要在Spring的配置文件中定义数据源、事务管理器和SqlSessionFactory。同时,我们还需要在Mybatis的配置文件中定义数据源和事务管理器。最后,我们需要将Mapper接口与SqlSessionFactory进行绑定,以便进行数据持久化操作,接下来我们开始实操

Spring-mybatis

选择我们的pom.xml配置文件,配置引用插件pom.xml配置



4.0.0
 
org.example
Spring-mybatis
1.0-SNAPSHOT
 
 

    UTF-8
    1.8
    1.8
    3.7.0
 
    
    
    5.0.2.RELEASE
    
    3.4.5
    
    5.1.44
    
    5.1.2
    
    1.3.1
    
    2.1.1
    2.4.3
    
    2.9.1
    
    4.12
    4.0.0
    1.18.2

 
 

    
    
        org.springframework
        spring-context
        ${spring.version}
    
    
        org.springframework
        spring-orm
        ${spring.version}
    
    
        org.springframework
        spring-tx
        ${spring.version}
    
    
        org.springframework
        spring-aspects
        ${spring.version}
    
    
        org.springframework
        spring-web
        ${spring.version}
    
    
        org.springframework
        spring-test
        ${spring.version}
    
 
    
    
        org.mybatis
        mybatis
        ${mybatis.version}
    
    
    
        mysql
        mysql-connector-java
        ${mysql.version}
    
    
    
        com.github.pagehelper
        pagehelper
        ${pagehelper.version}
    
    
    
        org.mybatis
        mybatis-spring
        ${mybatis.spring.version}
    
 
    
    
        org.apache.commons
        commons-dbcp2
        ${commons.dbcp2.version}
    
    
        org.apache.commons
        commons-pool2
        ${commons.pool2.version}
    
 
    
    
    
        org.apache.logging.log4j
        log4j-core
        ${log4j2.version}
    
    
        org.apache.logging.log4j
        log4j-api
        ${log4j2.version}
    
    
    
        org.apache.logging.log4j
        log4j-web
        ${log4j2.version}
    
 
    
    
        junit
        junit
        ${junit.version}
        
    
    
        javax.servlet
        javax.servlet-api
        ${servlet.version}
        provided
    
    
        org.projectlombok
        lombok
        ${lombok.version}
        provided
    
 

 

    Spring-mybatis
    
        
        
            src/main/java
            
                **/*.xml
            
        
        
        
            src/main/resources
            
                jdbc.properties
                *.xml
            
        
    
 
    
 
        
            org.apache.maven.plugins
            maven-compiler-plugin
            ${maven.compiler.plugin.version}
            
                ${maven.compiler.source}
                ${maven.compiler.target}
                ${project.build.sourceEncoding}
            
        
        
            org.mybatis.generator
            mybatis-generator-maven-plugin
            1.3.2
            
                
                
                    mysql
                    mysql-connector-java
                    ${mysql.version}
                
            
            
                true
            
        
 
        
            maven-clean-plugin
            3.1.0
        
        
        
            maven-resources-plugin
            3.0.2
        
        
            maven-compiler-plugin
            3.8.0
        
        
            maven-surefire-plugin
            2.22.1
        
        
            maven-war-plugin
            3.2.2
        
        
            maven-install-plugin
            2.5.2
        
        
            maven-deploy-plugin
            2.8.2
        
    

 

log4j2.xml  

创建 log4j2.xml 配置文件,并且进行配置


 


	
		
		/root/workspace/lucenedemo/logs
		/root/workspace/lucenedemo/logs/error
		/root/workspace/lucenedemo/logs/warn
		%d{yyyy-MM-dd HH:mm:ss.SSS} [%t-%L] %-5level %logger{36} - %msg%n
	
 
	
		
		
			
			
			
			
			
		
 
		
		
		
			
		
		
		
			
			
			
			
				
				
				
				
				
				
			
		
 
		
			
			
			
				
				
			
			
			
		
 
		
			
			
			
				
				
				
			
		
 
	
 
	
	
		
		
		
 
		
		
		
		
		
		
 
 
		
		
			
			
			
			
		
 
	
 

 jdbc.properties 

 jdbc.properties用与文件辅助mysql数据库的连接

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://47.100.191.44:3308/mybatis_ssm?useUnicode=true&characterEncoding=UTF-8
jdbc.username=test01
jdbc.password=test01

generatorConfig.xml

generatorConfig.xml 配置文件,用来引用插件自动生成类,接口,xml配置文件




    
    
 
    
    
 
    
    
        
        
            
             
        
 
        
        
 
        
        
            
            
        
 
        
        
        
        
            
            
            
            
            
            
            
            
        
 
        
        
            
            
        
 
        
        
        
        
        
            
            
        
 
        
        
        
        
        
        
        
        
        
        
        
        
        
 
        

spring-context.xml

spring-context.xml 配置文件,用来配置文件加载到spring的上下文



 


 

spring-mybatis.xml

 spring-mybatis.xml 配置文件,用来spring和MyBatis整合及自动识别类及方法



    
    
    
    
    
 
    
 
    
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
    
 
    
    
    
        
        
        
        
        
        
        
        
            
                
                    
                        
                            helperDialect=mysql
                        
                    
                
            
        
    
 
    
    
    
        
        
        
        
    
 
    
        
    
    
    

mybatis与spring集成与spring aop集成pagehelper插件_第1张图片

  BookBiz

package com.junlinyi.biz;
 
import com.zhanghao.model.Book;
import com.zhanghao.utils.PageBean;
 
import java.util.List;
 
/**
 * @author zhanghao
 * @site www.zhanghao.jly
 * @company s集团
 * @create  2023-08-25 16:33
 */
public interface BookBiz  {
 
    int deleteByPrimaryKey(Integer bid);
 
    int insert(Book record);
 
    int insertSelective(Book record);
 
    Book selectByPrimaryKey(Integer bid);
 
    int updateByPrimaryKeySelective(Book record);
 
    int updateByPrimaryKey(Book record);
 
 
}

BookBizImpl

package com.zhnaghao.biz.impl;
 
import com.zhnaghao.biz.BookBiz;
import com.zhnaghao.mapper.BookMapper;
import com.zhnaghao.model.Book;
import com.zhnaghao.utils.PageBean;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
import java.util.List;
import java.util.Map;
 
/**
 * @author zhnaghao
 * @site www.zhnaghao.jly
 * @company s集团
 * @create  2023-08-25 16:34
 */
@Service
public class BookBizImpl implements BookBiz {
    //相当于set及get
    @Autowired
    private BookMapper bookMapper;
    private Book book;
    private PageBean pageBean;
 
    @Override
    public int deleteByPrimaryKey(Integer bid) {
        return bookMapper.deleteByPrimaryKey(bid);
    }
    @Override
    public int insert(Book record) {
        return bookMapper.insert(record);
    }
    @Override
    public int insertSelective(Book record) {
        return bookMapper.insertSelective(record);
    }
    @Override
    public Book selectByPrimaryKey(Integer bid) {
        return bookMapper.selectByPrimaryKey(bid);
    }
    @Override
    public int updateByPrimaryKeySelective(Book record) {
        return bookMapper.updateByPrimaryKeySelective(record);
    }
    @Override
    public int updateByPrimaryKey(Book record) {
        return bookMapper.updateByPrimaryKey(record);
    }
 
 
 
 
}

BookBizImplTest 

package com.zhanghao.biz.impl;
 
import com.zhanghao.biz.BookBiz;
import com.zhanghao.model.Book;
import com.zhanghao.utils.PageBean;
import org.junit.After;
import org.junit.Before;
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 static org.junit.Assert.*;
 
/**
 * @author zhanghao
 * @site www.zhanghao.jly
 * @company s集团
 * @create  2023-08-25 16:39
 */
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:spring-context.xml"})
public class BookBizImplTest {
 
    @Autowired
    private BookBiz bookBiz;
 
    @Before
    public void setUp() throws Exception {
    }
    @After
    public void tearDown() throws Exception {
    }
    @Test
    public void deleteByPrimaryKey() {
        System.out.println(bookBiz.deleteByPrimaryKey(1));
    }
    @Test
    public void insertSelective() {
        int i = bookBiz.insertSelective(new Book(1, "第一章开局送老婆", 99.9f));
        System.out.println(i);
    }
    @Test
    public void selectByPrimaryKey() {
        System.out.println(bookBiz.selectByPrimaryKey(63));
    }
    @Test
    public void updateByPrimaryKeySelective() {
        int i = bookBiz.updateByPrimaryKeySelective(new Book(1, "第一章开局送老婆和房子", 999.9f));
        //修改后进行查看
        System.out.println(bookBiz.selectByPrimaryKey(1));
    }
 
 
}

你可能感兴趣的:(mybatis,spring,tomcat)