点击New Project建立一个新的项目
选择Spring Initializr建立spring boot项目,其中须要选择jdk(Java Development ToolKit,是Java语言开发工具包)的版本,其他的选项默认。
点击next。前端
点击next会出现这个界面,Group为项目域,Artifact为项目名。java
例如,图示中,com.example,为example示例的域名,demo为示范项目名称。
因为个人jdk版本为1.8,因此java version(java版本)选择8。其余的默认便可。
点击nextmysql
选择项目存储目录,点击Finish。web
//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
在项目名称下新建四个包。面试
(三)、建立对应的代码spring
在实际开发者,controller是进行先后端交互的,后端给前端提供相对应的接口,controller层调用service层,service调用dao层对数据库进行查询,把数据储存到bean包下的user对象中。例如:
UserController——>UserService——>UserServiceImpl实现UserService中的方法——>UserMapper查询数据
最后将查询到的数据,new一个User来存放数据。sql
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; } }
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(); }
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(); }
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(); } }
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” 以运行项目。apache
运行成功后,打开浏览器,输入http://localhost:8888/User/query 其中
http为协议,
localhost为本地ip,
8888为运行端口,
User为controller层的@RequestMapping括号后的字符串,就至关于根目录同样,
query为controller层的@GetMapping括号后的字符串,至关于根目录下的query方法后端
在文章的最后做者为你们整理了不少资料!包括java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书等等!有须要的朋友欢迎关注公众号:前程有光,领取