springboot入门(一)–快速搭建一个springboot框架
springboot入门(二)–springboot常用注解及配置
springboot入门(三)-- springboot集成mybatis及mybatis generator工具使用
springboot入门(四)springboot默认日志logback配置
springboot集成RabbitMQ
springboot定时器
创建一个简单的springboot项目(注意注解)
1.
application.yml(resources目录下的配置文件,部分需改)
server:
port: 8080
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/smbms?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false
password: 123456
username: root
mybatis:
mapper-locations: classpath:mappers/*Mapper.xml
type-aliases-package: cn.kgc.demo.pojo
User.java
package cn.kgc.demo.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
private Long id;
private String userName;
private int passWord;
}
UserMapper.java
package cn.kgc.demo.mapper;
import cn.kgc.demo.pojo.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@Mapper
public interface UserMapper {
//查询 对象
User getUser(@Param("id") Long id);
//添加
int insert(String userName);
//修改
int updata(User user);
//删除
int delete(Long id);
}
userMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.kgc.demo.mapper.UserMapper">//注意别的项目中需要改
<select id="getUsrName" resultType="java.lang.String">
SELECT userName FROM smbms_user where id=#{id}
</select>
<select id="getUser" resultType="cn.kgc.demo.pojo.User">
SELECT * FROM smbms_user where id=#{id}
</select>
<insert id="insert" >
INSERT INTO smbms_user(userName)VALUES(#{userName})
</insert>
<update id="updata">
UPDATE smbms_user SET userName=#{userName} WHERE id=#{id}
</update>
<delete id="delete">
DELETE FROM smbms_user WHERE id=#{id}
</delete>
</mapper>
UserServiceImpl .java
package cn.kgc.demo.service.Impl;
import cn.kgc.demo.mapper.UserMapper;
import cn.kgc.demo.pojo.User;
import cn.kgc.demo.service.UserService;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@Service
public class UserServiceImpl implements UserService {
@Resource
private UserMapper userMapper;
@Override
//查询 对象
public User getUser(Long id) {
return userMapper.getUser(id);
}
@Override
//添加
public int insert(String userName) {
return userMapper.insert(userName);
}
@Override
//修改
public int updata(User user) {
return userMapper.updata(user);
}
@Override
//删除
public int delete(Long id) {
return userMapper.delete(id);
}
}
UserController.java
package cn.kgc.demo.controller;
import cn.kgc.demo.pojo.User;
import cn.kgc.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/users")
public class Controller {
@Autowired
private UserService userService;
// 查询 对象
@GetMapping("/{id}")
public User getUser(@PathVariable Long id){
System.out.println("对象:======"+userService.getUser(id));
return userService.getUser(id);
}
//添加用户
@PostMapping("/")
public int creatUser(String userName){
return userService.insert(userName);
}
//修改用户
@PutMapping("/")
public int updata(User user){
return userService.updata(user);
}
//删除
@DeleteMapping("/{id}")
public int delete(@PathVariable Long id){
return userService.delete(id);
}
}
注:@GetMapping("/{id}"),@PostMapping("/"),@PutMapping("/"),@DeleteMapping("/{id}")
如果使用{id},参数需加@PathVariable注解,页面访问的时候http://localhost:8080/users/2,直接写参数,不需要写成id=2