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的参数配置,可以开启驼峰,设置编码等等。
SpringBoot集成MyBatis的Bean配置方式的更多相关文章
- SpringBoot 整合 Mybatis + Mysql——XML配置方式
一.介绍 SpringBoot有两种方法与数据库建立连接,一种是集成Mybatis,另一种用JdbcTemplate,本文主要讨论集成Mybatis方式. SpringBoot整合Mybatis也有两 ...
- springboot系列七:springboot 集成 MyBatis、事物配置及使用、druid 数据源、druid 监控使用
一.MyBatis和druid简介 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.M ...
- SpringBoot系列-整合Mybatis(XML配置方式)
目录 一.什么是 MyBatis? 二.整合方式 三.实战 四.测试 本文介绍下SpringBoot整合Mybatis(XML配置方式)的过程. 一.什么是 MyBatis? MyBatis 是一款优 ...
- SpringBoot集成Mybatis配置动态数据源
很多人在项目里边都会用到多个数据源,下面记录一次SpringBoot集成Mybatis配置多数据源的过程. pom.xml <?xml version="1.0" encod ...
- SpringBoot集成Mybatis实现多表查询的两种方式(基于xml)
下面将在用户和账户进行一对一查询的基础上进行介绍SpringBoot集成Mybatis实现多表查询的基于xml的两种方式. 首先我们先创建两个数据库表,分别是user用户表和account账户表 ...
- Spring Boot集成MyBatis的2种方式
目录 写在前面 准备工作 配置数据库驱动 配置数据源 原生集成MyBatis 依赖配置 注册MyBatis核心组件 定义并使用映射器 通过MyBatis-Spring-Boot-Starter集成 默 ...
- Spring Boot 数据访问集成 MyBatis 与事物配置
对于软件系统而言,持久化数据到数据库是至关重要的一部分.在 Java 领域,有很多的实现了数据持久化层的工具和框架(ORM).ORM 框架的本质是简化编程中操作数据库的繁琐性,比如可以根据对象生成 S ...
- BindingException: Invalid bound statement (not found)问题排查:SpringBoot集成Mybatis重点分析
重构代码,方法抛出异常:BindingException: Invalid bound statement (not found) 提示信息很明显:mybatis没有提供某方法 先不解释问题原因和排查 ...
- SpringBoot学习笔记(三):SpringBoot集成Mybatis、SpringBoot事务管理、SpringBoot多数据源
SpringBoot集成Mybatis 第一步我们需要在pom.xml里面引入mybatis相关的jar包 <dependency> <groupId>org.mybatis. ...
随机推荐
- Idea开发环境中,开发springboot类型的项目,如果只引入parent节点,不添加依赖节点,maven是不会加载springboot的任何依赖的
在SpringBoot类型的项目中,我本来是要使用pringBoot,创建一个Console项目,我原本在pom.xml中添加paren节点了,天真的认为不需要再添加其他任何依赖了,可是接下来的1个小 ...
- 【转】简谈基于FPGA的千兆以太网
原文地址: http://blog.chinaaet.com/luhui/p/5100052903 大家好,又到了学习时间了,学习使人快乐.今天我们来简单的聊一聊以太网,以太网在FPGA学习中属于比较 ...
- 晶体管放大电路与Multisim仿真学习笔记
前言 开始写点博客记录学习的点滴,第一篇就写基本的共射极放大电路吧. 很多教材都是偏重理论,而铃木雅臣著作的<晶体管电路设计>是一本很实用的书籍,个人十分推荐! 下面开始我的模电重温之旅吧 ...
- LeetCode176——第二高的薪水
题目描述 编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) . +----+--------+ | Id | Salary | +----+--------+ | 1 ...
- python代码git上传
python代码git上传 1.每次上传代码之前需要先拉取线上的代码 操作如下:
- PyGSP
PyGSP # PyGSP (0.5.1) # matplotlib (3.1.2) # networkx (2.4) # numpy (1.17.4) from pygsp import graph ...
- [转帖]Proof Of Work 工作量证明
Proof Of Work 工作量证明 https://www.cnblogs.com/zhang-qc/p/10451817.html 借鉴了 哈希现金(Hashcash)-1997年 英国密码学专 ...
- php开发工程师都需要掌握什么技能呢?
PHP原生标准库精通,三种大型框架中熟练掌握一门的开发(Symfony2.Yii.ZF2),小型框架中(Codeigniter 等)通读其一源码. MySQL语句精通,实践构造 1000 万级的数据库 ...
- Python之路【第二十三篇】:数据库基础
数据库的简介 数据库 数据库(database,DB)是指长期存储在计算机内的,有组织,可共享的数据的集合.数据库中的数据按一定的数学模型组织.描述和存储,具有较小的冗余,较高的数据独立性和易扩展性, ...
- 【LEETCODE】70、字符匹配1023 Camelcase Matching
最近做leetcode总感觉自己是个智障,基本很少有题能自己独立做出来,都是百度... 不过终于还是做出了一题...而且速度效率还可以 哎,加油吧,尽量锤炼自己 package y2019.Algor ...