SpringBoot集成MyBatis的Bean配置方式

SpringBoot集成MyBatis的Bean配置方式

SpringBoot是一款轻量级开发的框架,简化了很多原先的xml文件配置方式,接下来就介绍一下如何不适用XML来配置Mybatis

springboot的yml文件

spring:
  profiles:
    active: dev
  application:
    name: service-fishkk

##MySql
  datasource:
    url: jdbc:mysql://47.94.200.0:3306/mybatis?useSSL=false&serverTimezone=Asia/Shanghai&characterEncoding=utf8&userUnicode=true
    username: fishkk
    password: Root.123
    driver-class-name: com.mysql.jdbc.Driver
##redis路径配置
  redis:
    host: 47.94.200.0
    port: 6379
    database: 0
    password: 123456
    pool:
      max-active:8

##cloud 的配置 配置
  cloud:
    config:
      uri: http://localhost:8888/
      profile: dev
      label: master

##注册微服务
eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8761/eureka/
##Mybatis配置
mybatis:
  type-aliases-package: com.boss.hr.train.fishkkmybatis.entity

配置SessionFactory和数据库连接池

package com.boss.hr.train.fishkkmybatis.config.dao;

import com.mchange.v2.c3p0.ComboPooledDataSource;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import javax.validation.Valid;
import java.beans.PropertyVetoException;

/**
 *数据库资源连接的配置
 *
 *@author  fishkk
 *@version  1.0.0
 *@since
 *
 * 修改人信息
 *@author
 *@version
 *@since
 *
 */
@Configuration
@MapperScan("com.boss.hr.train.fishkkmybatis.dao")
public class DataSourceConfiguration {
    /**
     *  数据库驱动
     */
    @Value("${spring.datasource.driver-class-name}")
    private String jdbcDriver;

    /**
     *  数据库地址
     */
    @Value("${spring.datasource.url}")
    private String jdbcUrl;

    /**
     * 数据库连接名
     */
    @Value("${spring.datasource.username}")
    private String jdbcUsername;

    /**
     * 数据库连接密码
     */
    @Value("${spring.datasource.password}")
    private String jdbcPassword;

    /**
     * 返回数据库连接池
     */
    @Bean(name = "dataSource")
    public ComboPooledDataSource createDateSource() throws PropertyVetoException {
        ComboPooledDataSource dataSource = new ComboPooledDataSource();
        dataSource.setDriverClass(jdbcDriver);
        dataSource.setJdbcUrl(jdbcUrl);
        dataSource.setUser(jdbcUsername);
        dataSource.setPassword(jdbcPassword);
        //关闭连接后不自动commit
        dataSource.setAutoCommitOnClose(false);
        return dataSource;
    }
}

@Value是通过从yml文件获取参数信息来配置

package com.boss.hr.train.fishkkmybatis.config.dao;

import org.mybatis.spring.SqlSessionFactoryBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;

import javax.annotation.Resource;
import javax.sql.DataSource;
import java.io.IOException;

/**
 * Session工厂的配置文件
 *
 *@author  fishkk
 *@version  1.0.0
 *@since
 *
 * 修改人信息
 *@author
 *@version
 *@since
 *
 */
@Configuration
public class SessionFactoryConfiguration {
    /**
     *  自动装在数据库资源bean
     */
    @Resource
    private DataSource dataSource;

    @Bean(name = "sqlSessionFactory")
    public SqlSessionFactoryBean createSqlSessionFactory() throws IOException {
        SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
        //Mybatis的参数配置
        sqlSessionFactoryBean.setConfigLocation(new ClassPathResource("mybatis-config.xml"));
        PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
        //启用Mybatis的全部xml文件,就不需要一个个去打开
        String packageSerchPath = PathMatchingResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX + "/mapper/**.xml";
        sqlSessionFactoryBean.setMapperLocations(resolver.getResources(packageSerchPath));
        sqlSessionFactoryBean.setDataSource(dataSource);
        //实体类所在的包
        sqlSessionFactoryBean.setTypeAliasesPackage("com.boss.hr.train.fishkkmybatis.entity");
        return sqlSessionFactoryBean;
    }
}

通过上面的两个Bean就可以成功的使用Mybatis来对数据库进行操作了

mapper下就是和dao层对于的数据库操作语句
mybatis-config.xml是mybatis的参数配置,可以开启驼峰,设置编码等等。

原文地址:https://www.cnblogs.com/fishkk/p/11367996.html

时间: 2024-08-20 16:35:07

SpringBoot集成MyBatis的Bean配置方式的相关文章

SpringBoot系列七:SpringBoot 集成 MyBatis、事物配置及使用、druid 数据源、druid 监控使用

一.MyBatis和druid简介 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录.国内最近流行的还有MyBatis-Plus,对Mybatis进行了增强,单表的增删改查可以省略xml文件,本

SpringBoot集成Mybatis实现多表查询的两种方式(基于xml)

 下面将在用户和账户进行一对一查询的基础上进行介绍SpringBoot集成Mybatis实现多表查询的基于xml的两种方式.   首先我们先创建两个数据库表,分别是user用户表和account账户表     user表:  account表:  然后创建实体类        **第一种通过创建子类的方式查询                             需求:查询所有的用户基础信息以及其所属的账户中的金额     1.创建想要得到多表查询数据的实体类(子类)            

springboot集成mybatis进行开发

1.首先创建springboot项目 点击:http://start.spring.io/  可以在线创建springboot项目 2.加入mybatis的pom文件 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.4</version

springboot 集成mybatis

1:依赖mybaits分页插件 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.3</version> </dependency> 2:启动类中@MapperScan 扫描接口包 @MapperScan("

SpringBoot集成mybatis配置

一个有趣的现象:传统企业大都喜欢使用hibernate,互联网行业通常使用mybatis:之所以出现这个问题感觉与对应的业务有关,比方说,互联网的业务更加的复杂,更加需要进行灵活性的处理,所以mybatis的灵活性特点更为适合其 作为技术选型的优势: mybatis初期使用比较麻烦,需要各种配置文件.实体类.dao层映射关联.还有一大推其它配置.当然mybatis也发现了这种弊端,初期开发了可以根据表结果自动生产实体类.配置文件和dao层代码,可以减轻一部分开发量:后期也进行了大量的优化可以使用

SpringBoot集成MyBatis的分页插件PageHelper

俗话说:好??不吃回头草,但是在这里我建议不管你是好马还是不好马,都来吃吃,带你复习一下分页插件PageHelper. 昨天给各位总结了本人学习springboot整合mybatis第一阶段的一些学习心得和源码,主要就算是敲了一下SpringBoot的门儿,希望能给各位的入门带给一点儿捷径,今天给各位温习一下MyBatis的分页插件PageHelper和SpringBoot的集成,它的使用也非常简单,开发更为高效.因为PageHelper插件是属于MyBatis框架的,所以相信很多哥们儿都已经用

SpringBoot集成MyBatis的分页插件PageHelper(回头草)

俗话说:好??不吃回头草,但是在这里我建议不管你是好马还是不好马,都来吃吃,带你复习一下分页插件PageHelper. 昨天给各位总结了本人学习springboot整合mybatis第一阶段的一些学习心得和源码,主要就算是敲了一下SpringBoot的门儿,希望能给各位的入门带给一点儿捷径,今天给各位温习一下MyBatis的分页插件PageHelper和SpringBoot的集成,它的使用也非常简单,开发更为高效.因为PageHelper插件是属于MyBatis框架的,所以相信很多哥们儿都已经用

SpringBoot集成mybatis以及自动化测试代码实现

Mybatis和logback的应用配置 1.在module的pom.xml文件中,加载springboot和swagger.lombok.fastjson.mysql.mybatis包 2.在resources中添加配置: 配置文件有两种,一种是properties,另一种是yaml,这里使用yaml yaml配置与properties一样,只是格式不同,内容则类似. 3.在配置文件application.yml中,编写MySQL的连接配置(通过url连接数据库course) server:

springboot集成mybatis

springboot如何配置web项目请参考前一章,在此基础上集成mybatis. 在pom文件中添加mybatis的依赖: <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.2.0</version> </dependency&