Idea 创立 spring boot 我的项目(应用 MySQL 数据库)
关上 Idea 软件。
点击 New Project 创立一个新的我的项目
抉择 Spring Initializr 创立 spring boot 我的项目,其中须要抉择 jdk(Java Development ToolKit, 是 Java 语言开发工具包)的版本,其余的选项默认。
点击 next。
点击 next 会呈现这个界面,Group 为我的项目域,Artifact 为我的项目名。
例如,图示中,com.example,为 example 示例的域名,demo 为示范项目名称。
因为我的 jdk 版本为 1.8,所以 java version(java 版本)抉择 8。其余的默认即可。
点击 next
抉择依赖。
- springboot 版本抉择 2.4.4
- 抉择 Developer Tools 下的 Spring Boot DevTools
- 抉择 Web 下的 Spring Web
- 抉择 SQL 下的 MyBatis Framework 和 MySQL Driver
- 点击 next
抉择我的项目存储目录,点击 Finish。
简略的 springboot 我的项目(基于 SSM 框架:Spring+SpringMVC+MyBatis)
配置 application.properties
//MySQL 驱动
spring.datasource.driverClassName=com.mysql.jdbc.Driver
//MySQL 地址, 其中须要填写 ip 地址,如若是本地则填写 localhost,如若为服务器,则填写服务器的 ip 地址。//MySQL 端口为 3306
// 填写数据库名称。spring.datasource.url=jdbc:mysql://ip 地址:3306/ 数据库名?characterEncoding=utf8&serverTimezone=UTC&rewriteBatchedStatements=true
// 数据库的登录用户名
spring.datasource.username=root
// 登录明码
spring.datasource.password=root
//springboot 运行端口为 8888,默认个别为 8080,能够本人抉择。server.port=8888
创立包名
在项目名称下新建四个包。
- bean 放实体类,对应数据库中的关键字段
- dao 放 mapper 文件,数据拜访层,与数据库进行交互。
- service 业务层,实现业务逻辑性能。其下还有一个 Impl 包,实现 service 的具体实现类。
- controller 业务管制层,前端所须要的接口就在这一层实现。(为了便于了解,咱们在新建 web 包下在新建一个包 controller)
(三)、创立对应的代码
在理论开发者,controller 是进行前后端交互的,后端给前端提供绝对应的接口,controller 层调用 service 层,service 调用 dao 层对数据库进行查问,把数据贮存到 bean 包下的 user 对象中。例如:
UserController——>UserService——>UserServiceImpl 实现 UserService 中的办法——>UserMapper 查问数据
最初将查问到的数据,new 一个 User 来存放数据。
对应的代码如下:
bean
package com.example.demo.bean;
/**
* @author tth
* @date 2021/4/4
*/
// 对应数据库中的 id、name、age、gender。public class User {
private Long id;
private String name;
private Integer age;
private String gender;
public Long getId() {return id;}
public void setId(Long id) {this.id = id;}
public String getName() {return name;}
public void setName(String name) {this.name = name;}
public Integer getAge() {return age;}
public void setAge(Integer age) {this.age = age;}
public String getGender() {return gender;}
public void setGender(String gender) {this.gender = gender;}
}
dao
package com.example.demo.dao;
import com.example.demo.bean.User;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* @author tth
* @date 2021/4/4
*/
// 应用注解形式进行数据库数据的查问,留神看是否引入 org.apache.ibatis.annotations.Select 包
public interface UserMapper {@Select("select * from test_user")
List<User> query();}
service
package com.example.demo.service;
import com.example.demo.bean.User;
import java.util.List;
/**
* @author tth
* @date 2021/4/4
*/
public interface UserService {
// 业务办法申明
List<User> query();}
serviceImpl
package com.example.demo.service.Impl;
import com.example.demo.bean.User;
import com.example.demo.dao.UserMapper;
import com.example.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
* @author tth
* @date 2021/4/4
*/
//UserService 的具体实现类,记得加上 @Service 注解,否则会报错。@Service
public class UserServiceImpl implements UserService {
// 调用 UserMapper 查问数据
//@Resource 或者 @Autowired 注解都可
@Resource
@Autowired
private UserMapper userMapper;
@Override
public List<User> query() {
// 调用 UserMapper 中的 query 办法,返回一个 List,类型为 User,为了代码简洁,就不须要定义两头变量。// 如:List<User> user = userMapper.query();
// return user;
return userMapper.query();}
}
controller
package com.example.demo.web.controller;
import com.example.demo.bean.User;
import com.example.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @author tth
* @date 2021/4/4
*/
@RestController
@RequestMapping("/User")
public class UserController {
@Autowired
private UserService userService;
// 表明这是一个 get 类型的申请,其余的还有 post、delete 等。@GetMapping("query")
public List<User> query(){return userService.query();
}
}
留神!留神!留神!
咱们还须要在 DemoApplication 加上一个注解 @MapperScan,否则我的项目还是会报错。或者应用一个 mybatis 注解类。
package com.example.demo;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
// 这个注解十分重要,须要让 springboot 晓得你的 mapper 文件寄存在哪个目录下
@MapperScan("com.example.demo.dao")
@SpringBootApplication
public class DemoApplication {public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);
}
}
我的项目运行
右击 DemoApplication 文件,点击 Run“DemoApplication”以运行我的项目。
运行胜利后,关上浏览器,输出 http://localhost:8888/User/query 其中
http 为协定,
localhost 为本地 ip,
8888 为运行端口,
User 为 controller 层的 @RequestMapping 括号后的字符串,就相当于根目录一样,
query 为 controller 层的 @GetMapping 括号后的字符串,相当于根目录下的 query 办法
最初
在文章的最初作者为大家整顿了很多材料!包含 java 外围知识点 + 全套架构师学习材料和视频 + 一线大厂面试宝典 + 面试简历模板 + 阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题 +Spring 源码合集 +Java 架构实战电子书等等!
有须要的敌人欢送关注公众号:前程有光,支付