在GitHub上已经开源,有全部源码,有问题可以在GitHub上提问https://github.com/sky41/MySQL.git
1、创建(User) 实体类
package com.my.mysql.entity;
import lombok.*;
@Setter
@Getter
@Data
@NoArgsConstructor
//@AllArgsConstructor
public class User {
private int id;
private String name;
private String passwd;
public User(int id, String name, String passwd) {
this.id = id;
this.name = name;
this.passwd = passwd;
}
public void updateUser(String name, String passwd) {
if (name != null) {
this.name = name;
}
if (passwd != null) {
this.passwd = passwd;
}
}
public static void main(String[] args) {
User user = new User(123, "Alice", "30");
System.out.println("Before update:");
System.out.println("Name: " + user.getName());
System.out.println("Passwd: " + user.getPasswd());
user.updateUser(null, "newPassword");
System.out.println("\nAfter update:");
System.out.println("Name: " + user.getName());
System.out.println("Passwd: " + user.getPasswd());
}
}
2、创建(User) Mapper接口
package com.my.mysql.mapper;
import com.my.mysql.entity.User;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import java.util.List;
@Mapper
@Repository
public interface UserMapper {
List<User> queryUserList();
User queryUserById(int id);
void addUser(User user);
void deleteUserById(int id);
void updateUser(User user);
// void login(User user);
// void register(User user);
}
3、配置(User)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.my.mysql.mapper.UserMapper">
<select id="queryUserList" resultType="User">
select * from mysqluser.user
</select>
<select id="queryUserById" resultType="User" parameterType="int">
select * from mysqluser.user where id = #{id};
</select>
<insert id="addUser">
insert into mysqluser.user (id, name,passwd) VALUES (#{id},#{name},#{passwd})
</insert>
<delete id="deleteUserById">
delete from mysqluser.user where id=#{id}
</delete>
<update id="updateUser" parameterType="User">
UPDATE mysqluser.user
# UPDATE mysqluser.user user是使用的数据库里面数据表
SET
id = #{id},
name = #{name},
passwd = #{passwd}
WHERE id = #{id}
</update>
</mapper>
4、创建(User) service类
service接口可以分出来实现类单独编写
package com.my.mysql.service;
import com.my.mysql.entity.User;
import java.util.List;
public interface UserService {
List<User> queryUserList();
User queryUserById(int id);
String addUser(User user);
String deleteUserById(int id);
String updateUser(User user);
}
4.1创建(User)实现类
package com.my.mysql.service.Impl;
import com.my.mysql.controller.UserController;
import com.my.mysql.entity.User;
import com.my.mysql.mapper.UserMapper;
import com.my.mysql.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Autowired
private UserController userController;
@Override
public List<User> queryUserList() {
return userMapper.queryUserList();
}
@Override
public User queryUserById(int id) {
return userMapper.queryUserById(id);
}
@Override
public String addUser(User user) {
userMapper.addUser(user);
return "新增成功";
}
@Override
public String deleteUserById(int id) {
userMapper.deleteUserById(id);
return "删除成功";
}
@Override
public String updateUser(User user) {
if (user != null) {
userMapper.updateUser(user);
return "更新成功";
} else {
return "用户信息为空,更新失败";
}
}
// @Override
// public User login(String name, String passwd) {
// // 根据用户名在数据库中查询用户信息
// userMapper.login();
//
// if (user != null && user.getPasswd().equals(passwd)) {
// return user; // 返回用户信息表示登录成功
// } else {
// return null; // 返回null表示登录失败
// }
// }
// public String register(User newUser) {
// // 检查用户是否已经存在
// userMapper.register(newUser);
// if (userExists(newUser.getUsername())) {
// return "User already exists"; // 返回用户已存在的信息
// } else {
// // 在这里执行注册逻辑,向数据库中添加新用户
// addUser(newUser);
// return "Registration successful"; // 返回注册成功信息
// }
// }
}
5、创建(User) Controller类
package com.my.mysql.controller;
import com.my.mysql.entity.User;
import com.my.mysql.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
public class UserController {
@Autowired
UserService userService;
@GetMapping("/queryUserList")
public List<User> queryUserList(){
return userService.queryUserList();
}
@GetMapping ("/queryUserById")
public User queryUserById(int id){
return userService.queryUserById(id);
}
@GetMapping("/addUser")
public String addUser(User user){
return userService.addUser(user);
}
@GetMapping("/deleteUserById")
public String deleteUserById(int id){
return userService.deleteUserById(id);
}
// @PutMapping("/updateUser")
// public String updateUser(@RequestBody User user) {
// userService.updateUser(user);
// System.out.println("更新成功");
// return "更新成功";
// }
@PutMapping("/updateUser")
public String updateUser(@RequestBody User user) {
return userService.updateUser(user);
}
// @PostMapping("/login")
// public String login(@RequestBody User user) {
// return userService.login(String name,String passwd);
// }
// @PostMapping("/register")
// public String register(@RequestBody User user) {
// return userService.register(user);
// }
}