资讯详情

【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;  /** * @Author: gjc * @createTime: 2022年07月13日 19:46:44 */ @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;  /** * @Author: gjc * @createTime: 2022年07月13日 19:52:38 */ @org.apache.ibatis.annotations.Mapper public interface UserMapper extends Mapper<User> { 
         } 

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
        ; 
        /** * @Author: gjc * @createTime: 2022年07月13日 19:55:58 */ @Service public class UserServiceImpl implements UserService 
        { 
          @Autowired private UserMapper userMapper
        ; @Override public List
        <User
        > 
        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;

/** * @Author: gjc * @createTime: 2022年07月13日 19:55:17 */
public interface UserService { 
        
    List<User> 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主要配置

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>

        <!-- mysql -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

        <!--通用mapper-->
        <dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper-spring-boot-starter</artifactId>
            <version>2.1.5</version>
        </dependency>

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.2.8</version>
        </dependency>

        <!-- 通用mapper -->
        <dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper-spring-boot-starter</artifactId>
            <version>2.1.5</version>
        </dependency>

        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.2.2</version>
        </dependency>
    </dependencies>

二、数据和测试

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. 快速开发只需要将上面对应的类文件复制到对应目录即可。

标签: 低浓度甲烷传感器gjc4

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台