SpringBoot整合TkMybatis(通用mapper)

TkMybatis目录

  1. SpringBoot整合TkMybatis(通用mapper)
  2. SpringBoot整合TkMybatis(通用mapper)(自定义xml文件)

源码

GitHub: https://github.com/291685399/springboot-learning/tree/master/springboot-tkmybatis01

TkMybatis是什么?

tkmybatis是为了简化mybatis单表的增删改查而诞生的,极其方便的使用MyBatis单表的增删改查,在使用mybatis单表增删改查时,可以直接调用tkmybatis中提供的方法直接调用而不用写xml配置文件。支持单表操作,不支持通用的多表联合查询。

Springboot整合tkmybatis

pom.xml:

<dependencies>
    
    <dependency>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-webartifactId>
    dependency>
    <dependency>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-devtoolsartifactId>
        <scope>runtimescope>
        <optional>trueoptional>
    dependency>
    <dependency>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-testartifactId>
        <scope>testscope>
    dependency>
    
    
    <dependency>
        <groupId>tk.mybatisgroupId>
        <artifactId>mapperartifactId>
        <version>4.1.5version>
    dependency>
    <dependency>
        <groupId>tk.mybatisgroupId>
        <artifactId>mapper-spring-boot-starterartifactId>
        <version>2.1.5version>
    dependency>
    
    
    <dependency>
        <groupId>mysqlgroupId>
        <artifactId>mysql-connector-javaartifactId>
        <scope>runtimescope>
    dependency>
    
    
    <dependency>
        <groupId>org.projectlombokgroupId>
        <artifactId>lombokartifactId>
        <optional>trueoptional>
    dependency>
dependencies>

UserController:

@RestController
public class UserController {
    @Autowired
    private UserService userService;

    @RequestMapping("/findById/{id}")
    public User findById(@PathVariable int id) {
        User user = userService.findById(id);
        return user;
    }

    @RequestMapping("/findAll")
    public List<User> findAll() {
        List<User> userList = userService.findAll();
        return userList;
    }

    @RequestMapping("/insert")
    public void insert() {
        User user = new User();
        user.setName("张三");
        user.setSex("男");
        user.setAge(18);
        user.setAddress("江西省");
        user.setPhone("456789645");
        userService.insert(user);
    }

    @RequestMapping("/delete")
    public void delete() {
        User user = new User();
        user.setId(5);
        userService.delete(user);
    }

    @RequestMapping("/update")
    public void update() {
        User user = new User();
        user.setId(5);
        user.setName("李四");
        userService.update(user);
    }
}

UserService:

public interface UserService {

    public User findById(int id);

    public List<User> findAll();

    public void insert(User user);

    public void update(User user);

    public void delete(User user);

}

UserServiceImpl:

@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserMapper userMapper;

    @Override
    public User findById(int id) {
        return userMapper.selectByPrimaryKey(id);
    }

    @Override
    public List<User> findAll() {
        return userMapper.selectAll();
    }

    @Override
    public void insert(User user) {
        userMapper.insertSelective(user);
    }

    @Override
    public void update(User user) {
        userMapper.updateByPrimaryKey(user);
    }

    @Override
    public void delete(User user) {
        userMapper.deleteByPrimaryKey(user);
    }
}

UserMapper:

public interface UserMapper extends Mapper<User> {
}

application.properties:

#tomcat port
server.port=8080
#datasource
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://188.131.247.26:3306/springboot-tkmybatis01?allowMultiQueries=true&useUnicode=true&useSSL=false&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull
spring.datasource.username=root
spring.datasource.password=root
#logging
logging.level.com.wyj.mapper:debug

User:

@Data
@Entity
public class User implements Serializable {
    @Id
    @KeySql(useGeneratedKeys = true)
    private Integer id;
    private String name;
    private String sex;
    private Integer age;
    private String address;
    private String phone;
}

SpringbootTkmybatisApplication:

@SpringBootApplication
@MapperScan("com.wyj.mapper")//tkmybatis的注解
public class SpringbootTkmybatisApplication {
    public static void main(String[] args) {
        SpringApplication.run(SpringbootTkmybatisApplication.class, args);
    }
}

你可能感兴趣的:(Mybatis,TkMybatis,SpringBoot)