文档章节

spring boot mybatis 快速构建微服务

evil_01
 evil_01
发布于 2016/07/15 10:14
字数 432
阅读 1112
收藏 7

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

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-web</artifactId>
	<version>${spring.boot.version}</version>
</dependency>
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>mybatis-spring-boot-starter</artifactId>
	<version>${spring.boot.version}</version>
</dependency>
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-aop</artifactId>
	<version>${spring.boot.version}</version>
</dependency>

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

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

<dependency>
	<groupId>org.mybatis</groupId>
	<artifactId>mybatis</artifactId>
	<version>${mybatis.version}</version>
</dependency>
<dependency>
	<groupId>org.mybatis</groupId>
	<artifactId>mybatis-spring</artifactId>
	<version>${spring.mybatis.version}</version>
</dependency>
<!-- mybatis page plugin -->
<dependency> 
	<groupId>com.github.pagehelper</groupId>
	<artifactId>pagehelper</artifactId>
	<version>${mybatis.page.version}</version>
</dependency>
<!-- druid -->
<dependency>
	<groupId>com.alibaba</groupId>
	<artifactId>druid</artifactId>
	<version>${druid.version}</version>
</dependency>
<!-- mysql driver -->
<dependency>
	<groupId>mysql</groupId>
	<artifactId>mysql-connector-java</artifactId>
	<version>${mysql.version}</version>
</dependency>

对应的版本为

<spring.boot.version>1.3.6.RELEASE</spring.boot.version>
<spring.mybatis.version>1.1.1</spring.mybatis.version>
<mybatis.version>3.4.0</mybatis.version>
<spring.mybatis.version>1.3.0</spring.mybatis.version>
<druid.version>1.0.22</druid.version>
<mysql.version>5.1.26</mysql.version>
<mybatis.page.version>4.1.6</mybatis.page.version>

通过入口启动内嵌的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调用一下

© 著作权归作者所有

共有 人打赏支持
evil_01
粉丝 8
博文 43
码字总数 27980
作品 0
卢湾
架构师
加载中

评论(1)

p
phoenix99
sjhh
一文读懂 Spring Boot、微服务架构和大数据治理三者之间的故事

微服务的诞生并非偶然,它是在互联网高速发展,技术日新月异的变化以及传统架构无法适应快速变化等多重因素的推动下诞生的产物。互联网时代的产品通常有两类特点:需求变化快和用户群体庞大,...

java高级架构牛人
05/14
0
0
一文读懂 Spring Boot、微服务架构和大数据治理三者之间的故事

微服务架构 微服务的诞生并非偶然,它是在互联网高速发展,技术日新月异的变化以及传统架构无法适应快速变化等多重因素的推动下诞生的产物。互联网时代的产品通常有两类特点:需求变化快和用...

ityouknow
05/16
0
0
一文读懂Spring Boot、微服务架构和大数据治理之间的故事

微服务架构 微服务的诞生并非偶然,它是在互联网高速发展,技术日新月异的变化以及传统架构无法适应快速变化等多重因素的推动下诞生的产物。互联网时代的产品通常有两类特点:需求变化快和用...

纯洁微笑
05/10
0
0
“Spring三剑客”,助你快速从月入过万的程序员到年薪百万的架构师

点击关注异步图书,置顶公众号 每天与你分享IT好书 技术干货 职场知识 参与文末话题讨论,每日赠送异步图书。 ——异步小编 Spring作为Java开发的事实开发框架,一直以来都被开发者誉为杀手级...

异步社区
05/10
0
0
【小马哥】Spring Boot系列讲座

这里为大家推荐一个不错的Spring Boot系列讲座,讲师介绍如下: 小马哥,阿里巴巴技术专家,从事十余年Java EE 开发,国内微服务技术讲师。目前主要负责微服务技术推广、架构设计、基础设施、...

杜琪
03/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

jquery创建类似于java的map

var map = {}; // Map map = new HashMap(); map[key] = value; // map.put(key, value); var value = map[key]; // Object value = map.get(key); var has = key in map; // boolean has = ......

SuperDabai
40分钟前
0
0
java大数据转换16进制转10进制

public static void main(String[] args) {String hex = "0xdbf3accc683297cf0000";BigInteger amount = new BigInteger(hex.substring(2), 16);System.out.println(amount);......

任梁荣
昨天
2
0
OSChina 周六乱弹 —— 目测我们程序员丁克的几率不大

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @真Skr小机灵鬼儿:8.13分享Jocelyn Pook/Russian Red的单曲《Loving Strangers》 《Loving Strangers》- Jocelyn Pook/Russian Red 手机党少...

小小编辑
昨天
9
3
TypeScript基础入门 - 函数 - 剩余参数

转载 TypeScript基础入门 - 函数 - 剩余参数 项目实践仓库 https://github.com/durban89/typescript_demo.gittag: 1.2.1 为了保证后面的学习演示需要安装下ts-node,这样后面的每个操作都能...

durban
昨天
1
0
OpenCV边缘检测算子原理总结及实现

1. 拉普拉斯算子 原理:是一种基于图像导数运算的高通线性滤波器。它通过二阶导数来度量图像函数的曲率。 拉普拉斯算子是最简单的各向同性微分算子,它具有旋转不变性。一个二维图像函数的拉...

漫步当下
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部