栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【Springboot集成tk.Mybatis】

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Springboot集成tk.Mybatis】

文章目录
  • 一、前言
    • 1.目录
    • 2.User实体类
    • 3.UserMapper的dao层类
    • 4.UserServiceImpl实现类
    • 5.UserService接口类
    • 6.application.yml配置文件
    • 7.pom主要配置
  • 二、数据和测试
    • 1.数据表
    • 2.测试类
  • 三、注意事项


一、前言

Springboot集成tk.Mybatis,集成后对于简单的增删改查,可以快速上手节省时间。记录集成过程,方便后期使用。

1.目录

2.User实体类
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;


@Data
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "shiro_user")
public class User implements Serializable {

    @Id
    private Integer user_id;
    @Column(name = "user_name")
    private String username;
    @Column(name = "password")
    private String password;
}
3.UserMapper的dao层类
import com.renjie.entity.User;
import tk.mybatis.mapper.common.Mapper;


@org.apache.ibatis.annotations.Mapper
public interface UserMapper extends Mapper {
}
4.UserServiceImpl实现类
import com.renjie.entity.User;
import com.renjie.mapper.UserMapper;
import com.renjie.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import tk.mybatis.mapper.entity.Example;
import java.util.List;


@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserMapper userMapper;

    @Override
    public List queryUserInfo(String username) {
        Example example = new Example(User.class);
        Example.Criteria criteria = example.createCriteria();
        criteria.andEqualTo(username);
        return userMapper.selectByExample(example);
    }

}
5.UserService接口类
import com.renjie.entity.User;
import java.util.List;


public interface UserService {
    List queryUserInfo(String username);
}
6.application.yml配置文件
spring:
  datasource:
    username: root # 用户名
    password: 'root' # 密码
    url: jdbc:mysql://localhost:3306/my_test?&useUnicode=true&characterEncoding=UTF-8
    driver-class-name: com.mysql.cj.jdbc.Driver

    initialSize: 5
    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,log4j
    maxPoolPreparedStatementPerConnectionSize: 20
    useGlobalDataSourceStat: true
    connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500

mybatis:
  mapper-locations: classpath*:mapper/*.xml
  type-aliases-package: com.renjie.entity
7.pom主要配置
    
        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        

        
            org.projectlombok
            lombok
        

        
        
            mysql
            mysql-connector-java
        

        
        
            tk.mybatis
            mapper-spring-boot-starter
            2.1.5
        

        
            com.alibaba
            druid-spring-boot-starter
            1.2.8
        

        
        
            tk.mybatis
            mapper-spring-boot-starter
            2.1.5
        

        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            2.2.2
        
    
二、数据和测试 1.数据表
CREATE TABLE `shiro_user` (
  `user_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '用户ID',
  `dept_id` bigint(20) DEFAULT NULL COMMENT '部门ID',
  `user_name` varchar(30) NOT NULL COMMENT '用户账号',
  `nick_name` varchar(30) NOT NULL COMMENT '用户昵称',
  `user_type` varchar(2) DEFAULT '00' COMMENT '用户类型(00系统用户)',
  `email` varchar(50) DEFAULT '' COMMENT '用户邮箱',
  `phonenumber` varchar(11) DEFAULT '' COMMENT '手机号码',
  `sex` char(1) DEFAULT '0' COMMENT '用户性别(0男 1女 2未知)',
  `avatar` varchar(100) DEFAULT '' COMMENT '头像地址',
  `password` varchar(100) DEFAULT '' COMMENT '密码',
  `status` char(1) DEFAULT '0' COMMENT '帐号状态(0正常 1停用)',
  `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)',
  `login_ip` varchar(128) DEFAULT '' COMMENT '最后登录IP',
  `login_date` datetime DEFAULT NULL COMMENT '最后登录时间',
  `create_by` varchar(64) DEFAULT '' COMMENT '创建者',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) DEFAULT '' COMMENT '更新者',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户信息表';
2.测试类
@SpringBootTest
class RenjieTkMybatisApplicationTests {

    @Autowired
    private UserService userService;
    @Test
    void contextLoads() {
        System.out.println(userService.queryUserInfo("张三"));
    }
}
三、注意事项
  1. 请求不是很大的时候可以使用,如果请求大需要考虑自己些sql,这样可以方便后期优化
  2. 快速开发只需要将上面对应的类文件复制到对应目录即可。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1013746.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号