SpringBoot整合mybatis随手案例

搭建项目:

首先进入官方提供的地址下载demo,或者使用idea直接创建工程,自动去官方下载,File-->New-->Project

 

SpringBoot整合mybatis随手案例_第1张图片

SpringBoot整合mybatis随手案例_第2张图片

创建之后的工程目录如下:

SpringBoot整合mybatis随手案例_第3张图片

注意:DemoApplication文件启动,和自己创建的包,需要在你创建文件夹路径之下,如果srpingboot项目启动后直接停止服务,但是需要加入web的依赖

        
			org.springframework.boot
			spring-boot-starter-web
		

		
			org.springframework.boot
			spring-boot-starter-tomcat
			
		

项目引入热部署

SpringBoot整合mybatis随手案例_第4张图片

在resources下的配置文件application.properties中加入参数配置:

#开启缓存实时刷新
spring.thymeleaf.cache=true
#热部署生效
spring.devtools.restart.enabled=true
#设置重启的目录
spring.devtools.restart.additional-paths=src/main/java
#classpath目录下的WEB-INF文件夹内容修改不重启
#spring.devtools.restart.exclude: static/**
spring.devtools.restart.exclude=WEB-INF/**

#服务端胚子tomcat参数修改
#配置端口号
#server.port=8088

#配置项目名的修改 一般项目正式发布的时候不配置
#server.servlet.context-path=/yanlei

#配置session的最大超时时间,默认30分钟
#server.session-timeout=60

#配置服务绑定地址,  启动服务如果不是绑定IP启动会出错,只有特殊情况下才会配置!
#server.address=10.18.58.170

#tomcat设置url编码
server.tomcat.uri-encoding=UTF-8

#存放tomcat日志文件,Dump等零时文件,默认为系统下的tmp文件夹,修改为E盘下
#server.tomcat.basedir=E:/springboot-tomcat-tmp

在idea中加入热部署可能不会马上生效,这时打开File-->Settings,如果还是不行,首先检查配置文件,之后再次启动idea试试

SpringBoot整合mybatis随手案例_第5张图片

之后加入全局异常捕获,需要加入模板依赖 可以使用 --> freemarker 或者加入 --> thymeleaf


		
			org.springframework.boot
			spring-boot-starter-freemarker
		

		
		
			org.springframework.boot
			spring-boot-starter-thymeleaf
		

在resources下的templates下创建一个全局异常捕获页面




    
    捕获全局异常


    

发生错误:

创建一个测试异常类,另外创建一个全局异常捕获类

@ControllerAdvice
public class JsonExceptionHandler {

	public static final String IMOOC_ERROR_VIEW = "error";

	//全局异常处理捕获,返回自定义异常页面 自定义页面在templates下就可以
	@ExceptionHandler(value = Exception.class)
    public Object errorHandler(HttpServletRequest reqest,
    		HttpServletResponse response, Exception e) throws Exception {

    	e.printStackTrace();

		ModelAndView mav = new ModelAndView();
        mav.addObject("exception", e);
        mav.addObject("url", reqest.getRequestURL());
        mav.setViewName(IMOOC_ERROR_VIEW);
        return mav;
    }
}

SpringBoot整合mybatis随手案例_第6张图片

springboot整合mybatis引入依赖到pom文件


			com.alibaba
			druid
			1.1.0
		

		
			mysql
			mysql-connector-java
			5.1.41
		

		
		
		    org.mybatis.spring.boot
		    mybatis-spring-boot-starter
		    1.3.1
		
		
		
		    tk.mybatis
		    mapper-spring-boot-starter
		    1.2.4
		
		
		
		    com.github.pagehelper
		    pagehelper-spring-boot-starter
		    1.2.3
		

		
			com.alibaba
			druid-spring-boot-starter
			1.1.9
		

		
			org.mybatis.generator
			mybatis-generator-core
			1.3.2
			compile
			true
		

在配置文件中加入数据库的配置

#生产环境热部署配置生效,一般正式环境不加
#restart.include.mapper=/mapper-[\\w-\\.]+jar
#restart.include.pagehelper=/pagehelper-[\\w-\\.]+jar
#加入阿里巴巴提供的driver数据源
spring.datasource.url=jdbc:mysql://localhost:3306/xxxxxx
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.druid.initial-size=1
spring.datasource.druid.min-idle=1
spring.datasource.druid.max-active=20
spring.datasource.druid.test-on-borrow=true
spring.datasource.druid.stat-view-servlet.allow=true

# mybatis 配置
mybatis.type-aliases-package=com.com.example.demo.pojo
mybatis.mapper-locations=classpath:mapper/*.xml
# 通用mapper配置
mapper.mappers=com.com.example.demo.utils.MyMapper
mapper.not-empty=false
mapper.identity=MYSQL
# 分页插件配置
pagehelper.helperDialect=mysql
pagehelper.reasonable=true
pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql

 接下来需要加入逆向工程的xml配置文件





    
        
        

        
            
        

        
        

        
        

		
        

		
        

        
		

逆向工程启动代码,主要运用反射,里面经过大牛封装的,将要生成的数据库设置一下直接运行即可.

import java.io.File;
import java.util.ArrayList;
import java.util.List;

import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.internal.DefaultShellCallback;

public class GeneratorDisplay {

	public void generator() throws Exception{

		List warnings = new ArrayList();
		boolean overwrite = true;
		//指定 逆向工程配置文件
		File configFile = new File("generatorConfig.xml"); 
		ConfigurationParser cp = new ConfigurationParser(warnings);
		Configuration config = cp.parseConfiguration(configFile);
		DefaultShellCallback callback = new DefaultShellCallback(overwrite);
		MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config,
				callback, warnings);
		myBatisGenerator.generate(null);

	} 
	
	public static void main(String[] args) throws Exception {
		try {
			GeneratorDisplay generatorSqlmap = new GeneratorDisplay();
			generatorSqlmap.generator();
		} catch (Exception e) {
			e.printStackTrace();
		}
		
	}
}

springboot的事务: 相对于增加,修改,删除加入:

@Transactional(propagation = Propagation.REQUIRED)

对于查询操作只需要加入:

@Transactional(propagation = Propagation.SUPPORTS)

需要三层的话记得引入aop:


		
		    org.springframework.boot
		    spring-boot-starter-aop
		

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(java,srpingboot,mybaits)