最近微服务这么热,感觉啥系统都要做成微服务,真的是合久必分,分久必合。现在就简单做一个微服务的增删改查项目。
基于maven的springboot项目。
1.File---》New---》Project

2.选中Spring Initializer,点击next

3.给项目取名字

4.选择项目要的依赖,这边就选了两个组件 Web -》Spring Web

SQL-->JDBC API ,Spring Data JDBC,Mybatis Framework ,MySQL Driver,后面就直接Finish

5.项目导入好了以后就开始写代码,这边先在数据库中新建一张user表,表中字段为id,name,age;

项目结构如下,在static静态资源目录下面,加载一个html文件,index.html就可以访问了。

6.在demo4目录下面新建bean(实体类),dao,service,web四层

bean中 User代码为
package xom.xin.demo4.bean;
public class User {
private Integer age;
private Integer id;
private String name;
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public User(Integer age, Integer id, String name) {
this.age = age;
this.id = id;
this.name = name;
}
public User(){
}
}
dao中UserDao接口代码
package xom.xin.demo4.dao;
import org.apache.ibatis.annotations.*;
import org.springframework.stereotype.Repository;
import xom.xin.demo4.bean.User;
import java.util.List;
@Mapper
@Repository
public interface UserDao {
/*
用户数据新增
*/
@Insert("insert into user(id,name,age) values (#{id},#{name},#{age})")
void addUser(User user);
/*
用户数据修改
*/
@Update("update user set name=#{name},age=#{age} where id=#{id}")
void updateUser(User user);
/*
用户数据删除
*/
@Delete("delete from user where id=#{id}")
void deleteUser(int id);
/*
用户数据查询
*/
@Select("select name,age,id from user where name=#{userName}")
User findUserByName(@Param("userName") String userName);
/*
查询所有用户
*/
@Select("select id,name,age from user")
List<User> findAll();
}
service中的UserService接口
package xom.xin.demo4.service;
import xom.xin.demo4.bean.User;
import java.util.List;
public interface UserService {
/*
新增用户
*/
boolean addUser(User user);
/*
修改用户
*/
boolean updateUser(User user);
/*
删除用户
*/
boolean deleteUser(int id);
/*
/根基用户名字查找用户
*/
User findUserByName(String userName);
/*
查询所有用户
*/
List<User> findAll();
}
service中UserServiceImpy实现类
package xom.xin.demo4.service;
import org.springframework.stereotype.Service;
import xom.xin.demo4.bean.User;
import xom.xin.demo4.dao.UserDao;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
@Service
public class UserServiceImpy implements UserService {
@Resource
private UserDao userDao;
@Override
public boolean addUser(User user) {
boolean flag=false;
try{
userDao.addUser(user);
flag=true;
}catch(Exception e){
e.printStackTrace();
}
return flag;
}
@Override
public boolean updateUser(User user) {
boolean flag=false;
try{
userDao.updateUser(user);
flag=true;
}catch (Exception e){
e.printStackTrace();
}
return flag;
}
@Override
public boolean deleteUser(int id) {
boolean flag=false;
try{
userDao.deleteUser(id);
flag=true;
}catch(Exception e){
e.printStackTrace();
}
return flag;
}
@Override
public User findUserByName(String userName) {
User user=null;
try{
user=userDao.findUserByName(userName);
}catch(Exception e){
e.printStackTrace();
}
return user;
}
@Override
public List<User> findAll() {
ArrayList<User> list=null;
try{
list= (ArrayList<User>) userDao.findAll();
}catch(Exception e){
e.printStackTrace();
}
return list;
}
}
web对外调用接口代码
package xom.xin.demo4.web;
import org.springframework.stereotype.Repository;
import org.springframework.web.bind.annotation.*;
import xom.xin.demo4.bean.User;
import xom.xin.demo4.service.UserService;
import javax.annotation.Resource;
import java.util.List;
@RestController
@RequestMapping(value="api/user")
public class UserRestController {
@Resource
private UserService userService;
@RequestMapping(method = RequestMethod.POST)
public boolean addUser(@RequestBody User user){
System.out.println("开始新增");
return userService.addUser(user);
}
@RequestMapping(method =RequestMethod.PUT)
public boolean updateUser(@RequestBody User user){
System.out.println("开始修改");
return userService.updateUser(user);
}
@RequestMapping(method = RequestMethod.DELETE)
public boolean delteUser(@RequestParam(value = "userId",required = true) int userId){
System.out.println("开始删除");
return userService.deleteUser(userId);
}
@RequestMapping(method = RequestMethod.GET)
public User findUserByName(@RequestParam(value = "userName",required = true) String userName){
System.out.println("开始查找");
return userService.findUserByName(userName);
}
@RequestMapping(value = "/all",method = RequestMethod.GET)
public List<User> findALL(){
System.out.println("开始查找所有用户");
return userService.findAll();
}
}
7,对application.properties文件进行配置
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone = GMT
spring.datasource.username=root
spring.datasource.password=admin
spring.jpa.show-sql=true
mybatis.type-aliases-package=xom.xin.demo4.bean
mybatis.mapper-locations=classpath\:mapper/*.xml
8.完成以后就用postman做接口的调用





|