SpringBoot 整合 MyBatis3.x 注解版本操作

一.创建文件

在这里插入图片描述

二.导入 Druid 数据源依赖(手动导入),创建后自动会引入 MyBatis 启动器,是由 MyBatis 官方提供的

<!-- druid 数据源 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.12</version>
</dependency>

三. Druid 全局配置 (type 值设置为com.alibaba.druid.pool.DruidDataSource)

首先创建yml文件,写入全局配置:

spring:
	datasource:
		username: root
		password: root
		url: jdbc:mysql://127.0.0.1:3306/jdbc?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavio
		r=convertToNull&useSSL=true&serverTimezone=GMT%2B8
		driver-class-name: com.mysql.cj.jdbc.Driver
		type: com.alibaba.druid.pool.DruidDataSource
		initialSize: 8
		minIdle: 5
		maxActive: 20
		maxWait: 60000
		timeBetweenEvictionRunsMillis: 60000
		minEvictableIdleTimeMillis: 300000
		validationQuery: SELECT 1 FROM DUAL
		testWhileIdle: true
		testOnBorrow: false
		testOnReturn: false
		poolPreparedStatements: true
		filters: stat,wall,logback
		maxPoolPreparedStatementPerConnectionSize: 25
		useGlobalDataSourceStat: true
		connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500

并在后面 开启mapper包为debug显示:

logging:
  level:
    com.java.springboot_jdbc1.mapper: debug

四.创建对应controller,mapper,service,entity,和config包

五.在config包下创建Druid文件并配置 Druid 监控

import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.support.http.StatViewServlet;
import com.alibaba.druid.support.http.WebStatFilter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.servlet.Filter;
import javax.sql.DataSource;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
@Configuration
public class DruidConfig {
//绑定数据源配置
@ConfigurationProperties(prefix = "spring.datasource")
@Bean
public DataSource druid() {
DruidDataSource druidDataSource = new DruidDataSource();
return druidDataSource;
}
/**
* 配置 Druid 监控
* 1. 配置一个管理后台的 Servlet
* 2. 配置一个监控的 filter
*/
@Bean // 1. 配置一个管理后台的 Servlet
public ServletRegistrationBean statViewServlet() {
//StatViewServlet 是 配置管理后台的 servlet
ServletRegistrationBean<StatViewServlet> bean =
new ServletRegistrationBean<>(new StatViewServlet(), "/druid/*");
//配置初始化参数
Map<String, String> initParam = new HashMap<>();
//访问的用户名密码
initParam.put(StatViewServlet.PARAM_NAME_USERNAME, "root");
initParam.put(StatViewServlet.PARAM_NAME_PASSWORD, "123");
//允许访问的 ip,默认所有 ip 访问
initParam.put(StatViewServlet.PARAM_NAME_ALLOW, "");
//禁止访问的 ip
initParam.put(StatViewServlet.PARAM_NAME_DENY, "192.168.10.1");
bean.setInitParameters(initParam);
return bean;
}
/**
* 配置一个监控的 filter
* @return
*/
@Bean
public FilterRegistrationBean filter() {
FilterRegistrationBean<Filter> bean = new FilterRegistrationBean<>();
bean.setFilter(new WebStatFilter());
//配置初始化参数
Map<String, String> initParam = new HashMap<>();
//排除请求
initParam.put(WebStatFilter.PARAM_NAME_EXCLUSIONS, "*.js,*.css,/druid/*");
//拦截所有请求
bean.setUrlPatterns(Arrays.asList("/*"));
return bean;
}
}

六.创建各包相对应文件

1.service

package com.java.springboot_jdbc1.service;

import com.java.springboot_jdbc1.entity.User;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Update;

import java.util.List;


public interface UserService {

    //    查询
    List<User> findUserall();
    //    删除
    int deleteUserByid(int id);
    //    更改
    int updateUserByUsername(User user);

    //    新增
    int insertUserByUser(User user);

    List<User> findUserById(int id);
}

2.mapper

package com.java.springboot_jdbc1.mapper;

import com.java.springboot_jdbc1.entity.User;
import org.apache.ibatis.annotations.*;

import java.util.List;

public interface UserMapper {
//   查询    
    @Select("select id,username,password from user")
    List<User> findUser();

//    删除
    @Delete("delete from user where id =#{id}")
    int deleteUserByid(int id);
//    更改
    @Update("update user set password = #{password} where username = #{username} ")
    int updateUserByUsername(User user);
    
//    新增
    @Insert("insert into user (username,password) values (#{username},#{password})")
    int insertUserByUser(User user);
}

3.controller接口

package com.java.springboot_jdbc1.controller;

import com.java.springboot_jdbc1.entity.User;
import com.java.springboot_jdbc1.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/user")
public class UserController {
    @Autowired
    UserService userService;
    @GetMapping("/getUserall")
    public List<User> findUserall() {
        List<User> userAll = userService.findUserall();
        return userAll;
    }

    @DeleteMapping("/del")
    public String deleteUser(int id) {
        int res = userService.deleteUserByid(id);
        if (res > 0) {
            return "删除成功";
        }
        return "删除失败";
    }

    //    更改
    @PostMapping("/update")
    public String updateUser(User user) {
        int res = userService.updateUserByUsername(user);
        if (res > 0) {
            return "删除成功";
        }
        return "删除失败";
    }

    //    新增
    @PostMapping("/add")
    public String addUser(User user) {
        int res = userService.insertUserByUser(user);
        if (res > 0) {
            return "删除成功";
        }
        return "删除失败";
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值