1.SpringBoot能迅速开发Web应用,几行代码开发一个Http接口
阅读大于配置:就是在开发中,如果有些值你没有配置的话,那程序会取一个默认值,换句话说,能取默认值的配置,就不需要配置了,这个默认值就是约定。
约定可以减少很多配置。
2.选择配置依赖
3.在Resources中配置以下两种方式选一种
application.properties
# 应用名称
spring.application.name=Project01
# 应用服务 WEB 访问端口
server.port=9090
# 数据库驱动:
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# 数据源名称
spring.datasource.name=defaultDataSource
# 数据库连接地址
spring.datasource.url=jdbc:mysql://localhost:3306/project01?serverTimezone=UTC
# 数据库用户名&密码:
spring.datasource.username=root
spring.datasource.password=******
#下面这些内容是为了让MyBatis映射
#指定Mybatis的Mapper文件
mybatis.mapper-locations=classpath:mybatis/mapper/*.xml
#指定Mybatis的实体目录
mybatis.type-aliases-package=com.li.entity
application.yaml
spring:
datasource:
username: root
password: ******
url: jdbc:mysql://localhost:3306/project01?serverTimezone=UTC
driver-class-name: com.mysql.jdbc.Driver
4.创建Entity实体类
public class User {
private int id;
private String name;
private String pwd;
public User() {
}
public User(int id, String name, String pwd) {
this.id = id;
this.name = name;
this.pwd = pwd;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", pwd='" + pwd + '\'' +
'}';
}
}
5.创建Mapper接口
@Mapper
@Repository
public interface UserMapper {
List<User> queryUserList();
User queryUserById(int id);
int addUser(User user);
int updateUser(User user);
int deleteUser(int id);
}
6.创建Mapper.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="com.li.mapper.UserMapper">
<select id="queryUserList" resultType="User">
select * from user
</select>
<select id="queryUserById" parameterType="int" resultType="User">
select * from user where id = #{id}
</select>
<insert id="addUser" parameterType="User">
insert into user values (#{id},#{name},#{pwd});
</insert>
<update id="updateUser" parameterType="User">
update user set name = #{name},pwd = #{pwd} where id = #{id};
</update>
<delete id="deleteUser" parameterType="int">
delete from user where id = #{id};
</delete>
</mapper>
7.创建Service
public interface UserService {
List<User> queryUserList();
User queryUserById(int id);
int addUser(User user);
int updateUser(User user);
int deleteUser(int id);
}
8.创建ServiceImpl
public class UserServiceImpl implements UserService{
@Autowired
private UserMapper userMapper;
public void setUserMapper(UserMapper userMapper) {
this.userMapper = userMapper;
}
public List<User> queryAllUser() {
return userMapper.queryAllUser();
}
public int addUser(User user) {
return userMapper.addUser(user);
}
public int updateUser(User user) {
return userMapper.updateUser(user);
}
public int deleteUser(int id) {
return userMapper.deleteUser(id);
}
}
9.创建Controller
@CrossOrigin
@RestController
@RequestMapping("/User")
public class LoginController {
@Autowired
private UserService userService;
@GetMapping("/Userist")
public List<User> userList() {
return this.userService.list();
}
@GetMapping("/queryUserById/{id}")
public Login queryUserByID(@PathVariable("id") int id) { return this.userService.getById(id); }
@DeleteMapping("/deleteUser/{id}")
public boolean deleteUser(@PathVariable("id") int id) { return this.userService.removeById(id); }
@PostMapping("/addUser")
public boolean addUser(@RequestBody User user) {
return this.userService.save(user);
}
@PutMapping("/updateUser")
public boolean updateUser(@RequestBody User user) { return this.userService.update(user); }
}