Springboot+mybatis+generator编写增删查改

Springboot+mybatis+generator编写增删查改

本文是在Springboot学习三的基础上进行

本项目目录如下:
在这里插入图片描述
先配置application.properties文件,内容如下:

server.port=8086
server.servlet.context-path=/sjxm

spring.mvc.static-path-pattern=/static/**
spring.resources.static-locations=/static/

spring.thymeleaf.prefix=classpath:/templates/
spring.datasource.url=jdbc:mysql://localhost:3306/springboot
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.initialize=true

mybatis.config-location=classpath:mybatis-config.xml
mybatis.mapper-locations=classpath:mapper/*.xml
mybatis.type-aliases-package=com.y9999.www.sjxm.model

logging.level.root=info
logging.level.com.y9999.www.sjxm=debug

在上篇博客的基础上新增:
在这里插入图片描述
建立mybatis-config.xml文件,内容如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <settings>
        <!-- 开启全局性设置懒加载 -->
        <setting name="lazyLoadingEnabled" value="true" />
        <!-- 开启按需加载 -->
        <setting name="aggressiveLazyLoading" value="false" />
    </settings>
    <typeAliases>
        <package name="com.y9999.www.sjxm.model" />
    </typeAliases>
</configuration>

(注意:文件的位置要和application.properties配置一致)

新建Service接口,内容如下:

package com.y9999.www.sjxm.userinfo;

import com.y9999.www.sjxm.model.Userinfo;

import java.util.List;
import java.util.Optional;

public interface UserService {
    Optional<Userinfo> findByID(String uuid);

    List<Userinfo> findAll();

    void deleteUser(String uuid);

    void updateUser(Userinfo userinfo);

    void creatUser(Userinfo userinfo);
}

xxImpl类:

package com.y9999.www.sjxm.userinfo;

import static com.y9999.www.sjxm.mapper.UserinfoDynamicSqlSupport.*;
import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo;
import static org.mybatis.dynamic.sql.select.SelectDSL.select;
import static org.mybatis.dynamic.sql.delete.DeleteDSL.deleteFrom;
import static org.mybatis.dynamic.sql.insert.InsertDSL.insert;
import static org.mybatis.dynamic.sql.update.UpdateDSL.update;


import com.y9999.www.sjxm.mapper.UserinfoDynamicSqlSupport;
import com.y9999.www.sjxm.mapper.UserinfoMapper;
import com.y9999.www.sjxm.model.Userinfo;
import org.mybatis.dynamic.sql.Constant;
import org.mybatis.dynamic.sql.SqlBuilder;
import org.mybatis.dynamic.sql.render.RenderingStrategies;
import org.mybatis.dynamic.sql.where.condition.IsEqualTo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;

import java.util.List;
import java.util.Optional;

@Service
public class UserinfoImpl implements UserService {
    @Autowired
    private UserinfoMapper userinfoMapper;

    @Override
    public Optional<Userinfo> findByID(String uuid){
        return userinfoMapper.selectOne(select(userinfo.allColumns())
                .from(userinfo)
                .where(userinfo.uuid, isEqualTo(uuid))
                .build()
                .render(RenderingStrategies.MYBATIS3));
    }
    @Override
    public List<Userinfo> findAll(){
        List<Userinfo> items = userinfoMapper.selectMany(select(userinfo.allColumns())
                .from(userinfo)
                .build()
                .render(RenderingStrategies.MYBATIS3));
        return items;
    }
    @Override
    public void deleteUser(String uuid){
        userinfoMapper.delete(deleteFrom(userinfo)
                .where(userinfo.uuid, isEqualTo(uuid))
                .build()
                .render(RenderingStrategies.MYBATIS3));
    }
    @Override
    public void updateUser(Userinfo userinfo){
        userinfoMapper.updateByPrimaryKey(userinfo);
    }
    @Override
    public void creatUser(Userinfo userinfos){
        userinfoMapper.insert(SqlBuilder.insert(userinfos)
        .into(userinfo)
        .map(uuid).toProperty("uuid")
        .map(username).toProperty("username")
        .map(password).toProperty("password")
        .map(crsj).toProperty("crsj")
        .map(status).toProperty("status")
        .map(role).toProperty("role")
        .build()
        .render(RenderingStrategies.MYBATIS3));
    }

}

Controller类:

package com.y9999.www.sjxm.userinfo;


import com.y9999.www.sjxm.model.Userinfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;
import java.util.Optional;

@RestController
public class UserController {
    @Autowired
    UserService userService;

    @GetMapping("/list")
    public List<Userinfo> list(){
        List<Userinfo> data = userService.findAll();
        return data;
    }
    @GetMapping("getByID/{uuid}")
    public Optional<Userinfo> listByID(@PathVariable("uuid") String uuid){
        Optional<Userinfo> data = userService.findByID(uuid);
        return data;
    }
    @PostMapping("/add")
    public void add(@RequestBody Userinfo userinfo){
        userService.creatUser(userinfo);
    }
    @PostMapping("/update/{uuid}")
    public void update(@PathVariable("uuid") String uuid, @RequestBody Userinfo p){
        p.setUuid(uuid);
        userService.updateUser(p);
    }
    @PostMapping("/del/{uuid}")
    public void deleteUser(@PathVariable("uuid") String uuid){
        userService.deleteUser(uuid);
    }

}

测试:
通过postman工具测试
添加
在这里插入图片描述
我们去数据库看一下:
在这里插入图片描述
修改
在这里插入图片描述
在这里插入图片描述
删除
在这里插入图片描述
在这里插入图片描述
查询
在这里插入图片描述
完成,enjoy it!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值