快速-springboot-mybatis整合(两种模式)附带事务的开启

今天写的是springboot和mybatis的整合;mybatis的使用配上springboot,是我们的开发更加便利;一共有两种快速整合模式

  • 第一种还是得通过xml少量的配置来整合
  • 通过注解来整合

(1)先来解释第一种

  • 首先先创建Spring Starter Project,且增加web,jdbc,mybatis,mysql相关组件 (其实jdbc组件可以引用也可以不引用,因为Mybatis框架的底层还是采用原生的jdbc来对数据库进行操作,只是通过 SqlSessionFactory,SqlSession Executor,StatementHandler,ParameterHandler,ResultHandler和TypeHandler等几个处理器封装了这些过程)
  • 增加application.yml配置文件,配置数据源和mybatis配置文件位置和mapper存放位置
  • appellation.yml配置中简单的配置
spring:
  datasource:
    username: xxx
    password: xxx
    url: jdbc:mysql://xxxxxx:3306/xxx?useSSL=false&useUnicode=true&characterEncoding=UTF-8
    #driver-class-name: com.mysql.jdbc.Driver
    driver-class-name: com.mysql.cj.jdbc.Driver
mybatis:
  config-location: classpath:mybatis/mybatis-config.xml
  mapper-locations: classpath:mybatis/mapper/*.xml
  • 注意driver-class-name: com.mysql.cj.jdbc.Driver
  • 然后在建立相关的配置文件和mapper文件夹,得到的项目结构如下图:
  • 在这里插入图片描述
  • 让后导入相关的配类就好了,比如bean,mapper接口,mapper接口的xml,为了简单我就自己创建如下,
  • 在这里插入图片描述
  • 最重要的一步即使在主程序加入mapper扫描注解:@MapperScan(“com.springboot.mapper”) 注解,扫描dao包的注解:如下图:
  • 在这里插入图片描述

这样的话 我们就可以成功访问了,我在Controller层加入了查找bean的方法

  • 在这里插入图片描述
  • 现在可以成功访问通过mybatis获取到bean,如下图:
  • 在这里插入图片描述

上面的方式是要通过xml和yml配置文件配置可以整合mybatis;开启事务也不用在xml文件配置,开启事务首先要在主程序中添加@EnableTransactionManagement //启用声明式事务注解的注解,然后在service的实现类中可以配置具体的隔离,比如配置只读

@Service
public class TAdminServiceImpl implements TAdminService{

	@Autowired
	TAdminMapper adminMapper;
	
	//@Transactional(isolation = Isolation.DEFAULT) //事务
	@Transactional(readOnly = true) //只读,也可以在类上加,然后方法如果没设置默认只读
	public TAdmin getTAdminById(Integer id) {
		// TODO Auto-generated method stub
		return adminMapper.selectByPrimaryKey(id);
	}

}

  • 为了方便其实也是可以在类上直接配置隔离级别,类中的方法默认都是你配置的这个级别,然后具体方法在具体配置

现在就是第二种整合方式 通过注解的方式;注解版

  • 先拷贝上面那个版本;通过注解我们是可以不用配置相关的配置文件和生成的mapper,所以在yml配置文件用我们也不用设置相关的路径;项目大体结构如图:
  • 在这里插入图片描述
  • 与上种方式的结构对比 我们在resources中是没有mybatis文件夹,和相关配置文件 那我们是如何使用mybatis呢
  • yml配置文件如下,不用配置相关路径:
spring:
  datasource:
    username: root
    password: xxx
    url: jdbc:mysql://xxx/xxx?useSSL=false&useUnicode=true&characterEncoding=UTF-8
    #driver-class-name: com.mysql.jdbc.Driver
    driver-class-name: com.mysql.cj.jdbc.Driver
    #type: com.alibaba.druid.pool.DruidDataSource
#mybatis:
#  config-location: classpath:mybatis/mybatis-config.xml
#  mapper-locations: classpath:mybatis/mapper/*.xml
  • 可以看到配置文件和xml的生成路径都是注释掉的
  • 接下来我们的步骤
  • 1 首先 在主程序也是得加入扫描dao成包的注释@MapperScan(“com.springboot.mapper”),来扫描dao
  • 2 在mapper接口的方法通过注释,自写sql语句来实现方法如图:
  • 在这里插入图片描述
  • 现在启动访问:
  • 在这里插入图片描述
  • 可以看到也是可以获取的到bean

使用心得:

  • 通过注解我们可以来实现简单的sql语句的方法,如果需要跑复杂动态的sql语句,我们还是得通过第一种配置的方式来实现;不过注解的方式是实在方便,所以建议两种一起用哈哈
  • 在事务上,可以看到注解的方式为我们省略的很多事情,我们不用在xml文件中配置,现在可以直接通过注解的方式开启事务,而且阅读起来也是简单明了;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值