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
原创粉丝点击