博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring boot mybatis 快速构建微服务
阅读量:6452 次
发布时间:2019-06-23

本文共 3303 字,大约阅读时间需要 11 分钟。

hot3.png

1.第一种构建是使用springboot的方式,

org.springframework.boot
spring-boot-starter-web
${spring.boot.version}
org.springframework.boot
mybatis-spring-boot-starter
${spring.boot.version}
org.springframework.boot
spring-boot-starter-aop
${spring.boot.version}

spring boot会根据自己的需要引入相对应版本的mybatis

2.第二种,自己引用对应的mybatis版本

org.mybatis
mybatis
${mybatis.version}
org.mybatis
mybatis-spring
${spring.mybatis.version}
com.github.pagehelper
pagehelper
${mybatis.page.version}
com.alibaba
druid
${druid.version}
mysql
mysql-connector-java
${mysql.version}

对应的版本为

1.3.6.RELEASE
1.1.1
3.4.0
1.3.0
1.0.22
5.1.26
4.1.6

通过入口启动内嵌的tomcat,

@SpringBootApplication@ComponentScan(basePackages = "com.capacity")public class BootApp extends WebMvcConfigurerAdapter {	public static void main(String[] args) {		SpringApplication.run(BootApp.class, args);	}}

@SpringBootApplication annotation is equivalent to using @Configuration@EnableAutoConfiguration and @ComponentScan

@ComponentScan组件扫描

下来是mybatis配置:

@Configuration@EnableTransactionManagement@MapperScan("com.capacity.dto")public class MybatisConfig implements TransactionManagementConfigurer {	@Autowired	DataSource dataSource;	@Bean	public SqlSessionFactory sqlSessionFactory() {		SqlSessionFactoryBean bean = new SqlSessionFactoryBean();		bean.setDataSource(dataSource);		bean.setTypeAliasesPackage("com.capacity.domain");		PageHelper pageHelper = new PageHelper();		Properties properties = new Properties();		properties.setProperty("reasonable", "true");		properties.setProperty("supportMethodsArguments", "true");		properties.setProperty("returnPageInfo", "check");		properties.setProperty("params", "count=countSql");		pageHelper.setProperties(properties);		// 添加插件		bean.setPlugins(new Interceptor[] { pageHelper });		// 添加xml目录		ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();		try {			bean.setMapperLocations(resolver.getResources("classpath:/mybatis/**/**/*.xml"));			return bean.getObject();		} catch (Exception e) {			e.printStackTrace();			throw new RuntimeException(e);		}	}	@Bean	public SqlSessionTemplate sqlSessionTemplate(SqlSessionFactory sqlSessionFactory) {		return new SqlSessionTemplate(sqlSessionFactory);	}	@Bean	@Override	public PlatformTransactionManager annotationDrivenTransactionManager() {		return new DataSourceTransactionManager(dataSource);	}

可以添加拦截器:

public class WebAppConfig extends WebMvcAutoConfigurationAdapter {	public void addInterceptor(InterceptorRegistry registry) {		registry.addInterceptor(new UserSecurityInterceptor()).addPathPatterns("/user/**");	}}

这里的配置文件用的是yml格式,不过配置文件好像名字默认是application,不能改,如果要改要用命令行加参数的方式

基本核心代码完了,可以试着建一个dao或者mapper,在建立一个Controller调用一下

转载于:https://my.oschina.net/tomJune/blog/712154

你可能感兴趣的文章
C# 使用各种API
查看>>
密码的校验.大小写字母,数字,特殊字符中的至少3种
查看>>
ios 不同sdk4.3 6.0版本号,关于方法的兼容性的通用方法
查看>>
Shell编程学习总结
查看>>
070、如何定制Calico 网络policy(2019-04-15 周一)
查看>>
构建之法阅读笔记02
查看>>
Webstorm常用快捷键备忘
查看>>
js滚动加载到底部
查看>>
关于mac远程链接window服务器以及实现共享文件
查看>>
Redis慢查询,redis-cli,redis-benchmark,info
查看>>
Virtualbox 虚拟机网络不通
查看>>
java概念基础笔记整理
查看>>
self parent $this关键字分析--PHP
查看>>
CC_UNUSED_PARAM 宏含义的解释
查看>>
leetcode124二叉树最大路径和
查看>>
AngularJS笔记整理 内置指令与自定义指令
查看>>
学习OpenCV——BOW特征提取函数(特征点篇)
查看>>
shell与正则表达式
查看>>
第三篇:白话tornado源码之请求来了
查看>>
10分钟搞定支付宝和微信支付的各种填坑
查看>>