快速了解springboot mybatis plus后端开发

JAVA后台开发使用SSM十分方便快捷,下面简单快速介绍下基于jdk1.8搭建springboot和mybatis plus框架:

1.springboot项目

<dependencies>        
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.3.1</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-boot-starter</artifactId>
            <version>3.0.0</version>
        </dependency>
</dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

2.application.properties文件设置

#设置
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://192.168.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8&allowMultiQueries=true
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.max-wait=10000
spring.datasource.max-idle=10
spring.datasource.min-idle=5
spring.datasource.initial-size=5
spring.servlet.multipart.max-file-size=20MB
spring.servlet.multipart.max-request-size=20MB

#mybatis plus
mybatis-plus.mapper-locations=classpath*:mapper/*.xml
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
#swagger
spring.mvc.pathmatch.matching-strategy=ANT_PATH_MATCHER

3.下载安装MySQL和可视化编辑工具并新增一个数据库test

mysql安装步骤:mysql5.5.62安装_asexual的博客-CSDN博客_mysql5.5.62安装教程

mysql数据库忘记密码:mysql数据库忘记密码了怎么办_最美的情郎的博客-CSDN博客

4.创建entity mapper service controller四个目录和相应类文件,映射到\resources\mapper\user.xml,最后运行Application主文件就可以访问了

import com.baomidou.mybatisplus.annotation.TableName;

@TableName("t_telemedicine_user")//实体数据
public class UserEntity {
    private String id;
    private String name;
    public String getID() {
        return id;
    }
    public void setID(String id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.demo.entity.UserEntity;
import org.apache.ibatis.annotations.Mapper;

@Mapper//DAO映射
public interface UserMapper {
    int addUser(String id,String name);
    int delUser();
    Page<UserEntity> getUserById(Page<UserEntity> page,String id);
}
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.demo.entity.UserEntity;
import com.demo.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service//事务
public class UserServiceImpl {
    @Autowired(required = false)
    private UserMapper userMapper;

    public int addUser(String id,String name) {
        return userMapper.addUser(id,name);
    }

    public int delUser() {
        return userMapper.delUser();
    }

    public Page<UserEntity> getUserById(Page<UserEntity> page,String id) {
        return userMapper.getUserById(page,id);
    }
}
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.demo.service.UserServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;

@RestController
@RequestMapping("/api/test")
public class UserController {
    @Autowired(required = false)
    private UserServiceImpl users;
    
    @PostMapping("/addUser")
    public int addUser(@RequestParam(name="id",required=true)String id,@RequestParam(name="name",required=false)String name) {
        return users.addUser(id,name);
    }
    
    @PostMapping("/delUser")
    public int delUser() {
        return users.delUser();
    }
    
    @GetMapping("/getUserById")
    public List getUserById(long pagenum,long pagesize,String id) {
        Page mypage=new Page<>(pagenum,pagesize,false);
        users.getUserById(mypage,id);
        List records = mypage.getRecords();
        if(records.size()>0){
            return records;
        }else {
            records.add("没有数据了");
            return records;
        }
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org/DTD Mapper 3.0" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.demo.mapper.UserMapper">
<!--column:数据库列名 property:对应参数名。分页需配置文件@Bean PaginationInterceptor p(){return new PaginationInterceptor();}-->
<resultMap id="baseuser" type="com.demo.entity.UserEntity">
    <result column="id" property="id"/>
    <result column="name" property="name"/>
</resultMap>
    <insert id="addUser">
    insert into user(id,name) values(#{id},#{name})
    </insert>

    <delete id="delUser">
    delete from user
    </delete>

    <update id="editUser">
    update user set name="xx" where id="x"
    </update>
    
    <select id="getUserById" resultMap="baseuser">
    select * from user where id=#{id}
    </select>
</mapper>
    <!--user.xml文件:select操作返回可指定int/Map等类型,其它操作返回int类型-->

其它:

@SpringBootApplication//Spring开启项目
@EnableScheduling//Spring开启定时@Scheduled(cron = "0 */1 * * * ? ")//1分钟1次
@EnableCaching//Spring开启缓存
@Cacheable(value="x",key="#id")//SpringService保存缓存 @CacheEvict(value="x",allEntries=true)清空缓存
@Aspect// Spring声明一个切面 @Before("execution(* com.modules.*.*(..))")
@RestControllerAdvice//Spring统一异常捕获@ExceptionHandler(Exception.class)
@RestController//Spring控制器=@Controller+@ResponseBody
@RequestMapping(value="/admin/login",method=RequestMethod.GET)//Spring请求地址映射
@RequestParam(name="x",required=false)//Spring声明参数名x
@RequestBody//Spring声明参数json(@RequestBody List<MultipartFile> x)
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")//Jackson时间格式new ObjectMapper().readValue(str,T.class);
@Configuration//Spring类配置一个或多个@Bean方法
@Bean//Spring引用第三方库的方法
@Component//Spring自动创建一个实例
@Autowired(required=false)//Spring自动关联实例
@Repository//Spring持久层 类似@Component
@Service//Spring业务层

@Mapper//Mybatis映射可更换@MapperScan在application类中设扫描路径
@TableName("x")//Mybatis数据库表
@TableId//Mybatis表主键@TableField(exist=false)//Mybatis表字段false不作表字段
@Api//(tags="swagger接口说明目录")用于controller类
@ApiOperation//(value = "swagger接口说明",notes = "接口详细说明")用于controller方法
@Accessors//存取器fluent=true-set()和get()没前缀且set()返回this,chain=true-set()返回this,prefix="x"-方法名删掉所指前缀x
@Data//为类提供get()、set()、equals()、hashCode()、toString() 类似@Getter@Setter
@Log4j//为类提供一个属性名为 log 的 log4j 的日志对象
install:install-file -Dfile=D:\source1.jar -DgroupId=gid -DartifactId=aid -Dversion=1.0 -Dpackaging=jar

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值