Springboot应用


一般要选择如下依赖
(lombook:简化javabean) springWeb MysqlDriver MybatisFramework
一般.mvn .gitignore .mvnw.cmd文件没啥用可以删去
如果你有MysqlDriver,需要你自己在配置文件里面自己再配置一下(yml)
spring: 
    datasource:
        driver-class-name:com.mysql.jdbc.Driver
        url:jdbc:mysql......
        username:......
        password:......

你可以在启动类里面写接口,也可以单独在controller包里面写接口
@RestController
@SpringBootApplication
public class SpringWebApplication {

   public static void main(String[] args) {
      SpringApplication.run(SpringWebApplication.class, args);
   }

   @GetMapping
   public String hello(){
      return "hello";
   }
}
就可以访问资源了

使用Mybatis进行对数据库的操作
我们为此引用了Mybatis-spring-boot-starter这个组件
通过接口写注解的方式实现对数据库的操作
需要一个java类(bean)跟数据库中的表一一对应(字段什么的)
建立一个实体类(entity)包,这个包专门存放跟数据库相关的文件
User.java对应数据库中的字段

@Data//lombook简化getter和setter方法 当然你也可以生成模板alt + insert
public class User{
    private Integer id;
    ......
}
生成的setter和getter方法是模板代码
而@data可以替换模板代码,他会编译之后自动生成模板代码
实体之后写接口,写mapper包(里面写个UserMapper类是interface),用来提供api,来给外部调用(interface)
public interface UserMapper{

    @Select("select * from user")
    List<User> listUser();
}
我现在有listUser();这个方法,我对外提供这个方法
那谁去调用呢,就是service层(业务处理层处理数据库)
创一个service包(接口java加实现类impl实现),再创一个UserService.java(接口)
public interface IUserService{

    List<User> listUser();
}
此时这个方法是接口里面的方法,并没有实现
所以在service里面创一个impl包(创建实现类)
里面创建UserService.java(非接口)
public class UserService implements IUserService{

}
出现红线之后,导入方法到实体类当中(impl)
@Override
public List<User> listUsers(){
    return null;
}
mapper在service中调用,把数据查出来,
再通过IUserService中listUser();方法返回出去
最后供给controller使用

在实体类impl中的java类中
@AutoWired//同来导入UserMapper
UserMapper userMapper//加上注解即可@Service

@Override
public List<User> listUser(){
    return userMapper.listUser();//最好加上trycatch防止方法有错
}

创建controller包(帮助我们对外暴露api,实现数据传输到前端)
UserController.java(里面所有的方法返回的数据都是json数据格式)

@RestController
public class UserController{

    @Autowired
    IUserService userService;//这里userService有红线,需要在UserService.java加上@Service(public class UserService implements IUserService前面)

    @GetMapping
    public List<User> listUser(){
        return userServie.listUsers();//返回最终UserMapper提供的数据
    }
}
list报红,就导入import java.util.List
同样还要注入@AutoWired

流程:用户请求接口到了UserController.java中的@GetMapping中的接口
通过userMapper.listUser();调用方法,然后到实现类UserService.java
userMapper.listUser();(service实际上定义的是usermapper的数据)
再到接口UserMapper接口

统一路由在UserController.java里面
@RequestMapping("/user")
@RestController
public class UserController{

    @Autowired
    IUserService userService;//这里userService有红线,需要在UserService.java加上@Service(public class UserService implements IUserService前面)

    @GetMapping("/list")
    public List<User> listUser(){
        return userServie.listUsers();//返回最终UserMapper提供的数据
    }
}

localhost:8080/user/list访问即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值