springboot笔记(2)springboot-Mybatis使用
来源:互联网 发布:淘宝开店预存金额 编辑:程序博客网 时间:2024/04/29 20:04
项目目录结构如下:
├─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=testspring.datasource.type=com.alibaba.druid.pool.DruidDataSourcespring.datasource.url=jdbc:mysql://127.0.0.1:3306/springboot-Mybatis-Activiti?characterEncoding=UTF-8spring.datasource.username=rootspring.datasource.password=rootspring.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")@EnableTransactionManagementpublic 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. */@Servicepublic 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集成使用基本完成
0 0
- springboot笔记(2)springboot-Mybatis使用
- springboot(四、springboot+mybatis)
- SpringBoot-使用Mybatis
- SpringBoot 使用Mybatis入门
- springboot+mybatis+mysql(2)
- SpringBoot(五):SpringBoot整合MyBatis
- springboot学习笔记(六) Mybatis
- SpringBoot使用笔记
- SpringBoot使用笔记
- 【SpringBoot】2小时学会SpringBoot学习笔记(第4章 Controller的使用)
- springboot 使用mybatis (xml Mapper)
- springBoot--mybatis
- springboot + mybatis
- mybatis+springboot
- springboot + mybatis
- springboot mybatis
- springboot+mybatis
- Springboot+Mybatis
- freetype位图怎么分配字节的
- hdu 2050 折线切割平面
- [Leetcode] Product of Array Except Self
- mysql 协议的错误包及解析
- OpenCV 2.4.3 C++ 平滑处理分析
- springboot笔记(2)springboot-Mybatis使用
- ZooKeeper集群
- 80老翁谈人生(329):伸展双臂,迎接网络空间基本法的实施
- 15-16年总结——拨开云雾终见青天
- XStream支持CDATA标签
- Opencv 处理图片增加文字
- 【小C出品】应学员的要求,java实现基于eclipse插件杀死TOMCAT进程的代码
- Struts2基础总结-2
- opencv 中关于BOW模型的实现以及相关的函数解释