springboot笔记(2)springboot-Mybatis使用
2017-01-08 10:16
429 查看
项目目录结构如下:
1、在pom文件中添加依赖
2、在application.properties中配置数据连接
3、数据源配置
3、mapper文件
mapping映射文件
以上为实现简单的查询
4、编写service服务
5、编写一个Controller供调用
6、springboot启动入口
到此springboot与Mybatis集成使用基本完成
├─src │ ├─main │ │ ├─java │ │ │ └─com │ │ │ └─app │ │ │ ├─mybatis │ │ │ │ ├─dataSourceConfig │ │ │ │ ├─mapper │ │ │ │ └─mapping │ │ │ ├─service │ │ │ │ └─impl │ │ │ └─springbootController │ │ └─resources │ │ └─processes │ └─test │ └─java └─target ├─classes │ └─com │ └─app │ ├─mybatis │ │ ├─dataSourceConfig │ │ ├─mapper │ │ └─mapping │ ├─service │ │ └─impl │ └─springbootController ├─generated-sources │ └─annotations ├─maven-archiver └─maven-status └─maven-compiler-plugin ├─compile │ └─default-compile └─testCompile └─default-testCompile
1、在pom文件中添加依赖
<?xml version="1.0" encoding="UTF-8"?> <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/xsd/maven-4.0.0.xsd"> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.4.2.RELEASE</version> <!-- <relativePath/>--> <!-- lookup parent from repository --> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>spring-boot-Mybatis</artifactId> <properties> <activiti.version>5.21.0</activiti.version> </properties> <dependencies> <!--spring boot 启动 libs--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <version>1.4.2.RELEASE</version> </dependency> <!--springboot web 启动 libs--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>1.4.2.RELEASE</version> </dependency> <!--支持使用 JDBC 访问数据库--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> <exclusions> <exclusion> <!-- 取消引入tomcat jdbc --> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-jdbc</artifactId> </exclusion> </exclusions> </dependency> <!-- mybatis相关驱动包--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.1.1</version> </dependency> <!-- mysql连接驱动包--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.26</version> </dependency> <!-- 连接池--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.27</version> </dependency> </dependencies> <build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> </resource> </resources> </build> </project>
2、在application.properties中配置数据连接
# JDBC 链接 spring.datasource.name=test spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.url=jdbc:mysql://127.0.0.1:3306/springboot-Mybatis-Activiti?characterEncoding=UTF-8 spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-class-name=com.mysql.jdbc.Driver
3、数据源配置
package com.app.mybatis.dataSourceConfig; import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.pool.DruidDataSourceFactory; import org.apache.ibatis.session.SqlSessionFactory; import org.mybatis.spring.SqlSessionFactoryBean; import org.mybatis.spring.SqlSessionTemplate; import org.mybatis.spring.annotation.MapperScan; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.env.Environment; import org.springframework.core.io.support.PathMatchingResourcePatternResolver; import org.springframework.jdbc.datasource.DataSourceTransactionManager; import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.annotation.EnableTransactionManagement; import org.springframework.transaction.annotation.TransactionManagementConfigurer; import javax.sql.DataSource; import java.util.Properties; /** * springboot集成mybatis的基本入口 * 1)创建数据源 * 2)创建SqlSessionFactory * MapperScan是扫描mapper文件 */ @Configuration @MapperScan(basePackages = "com.app.mybatis.mapper") @EnableTransactionManagement public class DataSourceConfig implements TransactionManagementConfigurer { //注入环境参数,通过Environment获取class:resource资源文件下配置文件信息 @Autowired private Environment env; @Autowired DataSource dataSource;//注入数据源 @Bean(name = "sqlSessionFactory") public SqlSessionFactory sqlSessionFactoryBean() throws Exception { SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean(); // 设置数据源 sqlSessionFactoryBean.setDataSource(dataSource); // 设置查找器 PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); // 自动扫描mybatis文件 sqlSessionFactoryBean.setMapperLocations(resolver.getResources("classpath:com/app/mybatis/mapping/*.xml")); return sqlSessionFactoryBean.getObject(); } @Bean public SqlSessionTemplate sqlSessionTemplate(SqlSessionFactory sqlSessionFactory) { return new SqlSessionTemplate(sqlSessionFactory); } @Bean @Override public PlatformTransactionManager annotationDrivenTransactionManager() { return new DataSourceTransactionManager(dataSource); } }
3、mapper文件
package com.app.mybatis.mapper; import java.util.List; /** * Created by ssjk on 2016/12/18. */ public interface LeaveFormMapper { public List<String> findLeaveFormAll(); }
mapping映射文件
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace="com.app.mybatis.mapper.LeaveFormMapper"> <select id="findLeaveFormAll" resultType="String"> SELECT context FROM leave_form </select> </mapper>
以上为实现简单的查询
4、编写service服务
package com.app.service.impl; import com.app.mybatis.mapper.LeaveFormMapper; import com.app.service.LeaveFormService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** * Created by ssjk on 2016/12/19. */ @Service public class LeaveFormServiceImpl implements LeaveFormService{ @Autowired private LeaveFormMapper leaveFormMapper; @Override public List findLeaveFormAll() { return leaveFormMapper.findLeaveFormAll(); } }
5、编写一个Controller供调用
package com.app.springbootController; import com.app.service.LeaveFormService; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; /** * Created by ssjk on 2016/12/19. */ @RestController @RequestMapping("/") public class SpringbootController { @Autowired private LeaveFormService leaveFormService; @RequestMapping("/findAll") public String findAll() throws JsonProcessingException { List leaveFormAll = leaveFormService.findLeaveFormAll(); return new ObjectMapper().writeValueAsString(leaveFormAll); } }
6、springboot启动入口
package com.app; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ComponentScan; import java.util.HashMap; /** * Created by ssjk on 2016/12/18. */ @SpringBootApplication @ComponentScan @MapperScan(basePackages="com.app.mybatis.mapper") public class App { public static void main(String[] args) { SpringApplication.run(App.class,args); } }
到此springboot与Mybatis集成使用基本完成
相关文章推荐
- Springboot中使用mybatis连接mysql数据库
- springboot+springmvc+mybatis 使用xml文件来写增查改的sql
- 《spring-boot学习》-08-spring boot 优雅的使用mybatis
- Spring-Boot整合mybatis(三)-注解的基本使用
- SpringBoot+Mybatis中使用动态代理方式动态切换datasource
- MyBatis-Spring-Boot 使用总结
- spring-boot 集成mybatis配置使用
- eclipse 使用maven 构建 springboot+mybatis
- 使用idea+springboot+Mybatis搭建web项目
- spring-boot+mybatis开发实战:如何在spring-boot中使用myabtis持久层框架
- 使用springboot+springmvc+mybaits-spring+mybatis-generator开发
- springboot使用之二:整合mybatis(xml方式)并添加PageHelper插件
- eclipse 使用maven 搭建 springboot+mybatis + 多数据源
- [原创]Spring Boot + Mybatis 简易使用指南(二)多参数方法支持 与 Joda DateTime类型支持
- springboot+springmvc+mybatis 使用注解对数据库的增、改和查操作
- Spring Boot 实践折腾记(三):三板斧,Spring Boot下使用Mybatis
- Spring Boot中使用MyBatis注解配置详解
- Spring-Boot整合mybatis(二),使用阿里的druid包,进行监控SQL执行速度
- spring boot中使用druid多数据源配置Mybatis