IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> SpringBoot-6 -> 正文阅读

[Java知识库]SpringBoot-6

1.整合MyBatis-plus

MyBatis官网:MyBatis-Plus

dao层继承BaseMapper<实体类>

1.1简介

1.mybatis-plus有通用的增删改查方法。方便简洁。dao层继承BaseMapper<实体类> 直接省去xml文件的编写。

1.2创建plus项目

1.实现user的增删改查

第一步:创建项目

  • 注意只有设置了阿里云的地址这里才会出现mybatis-plus的依赖,不然的话需要自己去导入的。

?

第二步:编写配置文件

pom文件:

<!--        配置资源路径-->
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.xml</include>
                    <include>**/*.properties</include>
                </includes>
            </resource>
        </resources>

配置文件:

# 应用名称
spring.application.name=demo
# 应用服务 WEB 访问端口
server.port=8080
# 数据库驱动:
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# 数据源名称
spring.datasource.name=test
# 数据库连接地址
spring.datasource.url=jdbc:mysql://localhost:3306/test?serverTimezone=GMT&useSSL=false
  # 数据库用户名&密码:
spring.datasource.username=root
spring.datasource.password=root

第三步:编写实体类User。

public class User implements Serializable {
    private int id;
    private String name;
    private int age;
    private String sex;
    private String password;
?
    public User() {
    }
?
    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 int getAge() {
        return age;
    }
?
    public void setAge(int age) {
        this.age = age;
    }
?
    public String getSex() {
        return sex;
    }
?
    public void setSex(String sex) {
        this.sex = sex;
    }
?
    public String getPassword() {
        return password;
    }
?
    public void setPassword(String password) {
        this.password = password;
    }
?
    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                ", sex='" + sex + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
?
    public User(int id, String name, int age, String sex, String password) {
        this.id = id;
        this.name = name;
        this.age = age;
        this.sex = sex;
        this.password = password;
    }
}

第四步:编写Dao层文件

    实现BaseMapper是关键。

@Mapper
public  interface UserDao extends BaseMapper<User> {
?
}

第五步:编写service层文件

UserService:

public interface UserService {
public int insert(User user);
public User getUserById(int id);
public List<User> getUsers();
public int updateUserPassword(int id,String password);
public int deleteUser(int id);
?
}

UserServiceImpl:

@Service
public class UserServiceIml implements UserService {
?
    @Resource
    private UserDao userDao;
?
//    插入操作
    @Override
    public int insert(User user) {
        return userDao.insert(user);
    }
?
//    根据id查询用户操作
    @Override
    public User getUserById(int id) {
        return userDao.selectById(id);
    }
//  获取全部的user对象
    @Override
    public List<User> getUsers() {
//        里面不写就是不指定查询的条件,也就是查询所有的信息
        return userDao.selectList(null);
    }
?
    @Override
?
    public int updateUserPassword(int id,String password) {
//      为的是解决age默认是0的时候可能出现的问题
        User user=userDao.selectById(id);
        user.setPassword(password);
        return userDao.updateById(user);
    }
//    根据id删除用户
    @Override
    public int deleteUser(int id) {
        return userDao.deleteById(id);
    }
}

第六步:编写controller层代码

@RestController
public class UserController {
    @Resource
    private UserService userService;
?
//    插入一个用户
    /*
    * 按照属性对应的顺序插入就行了
    * */
        @GetMapping("/insert")
        public int insert(User user){
            return userService.insert(user);
        };
//        根据id获取用户的信息
        @GetMapping("/getUserById")
        public User getUserById(int id){
            return userService.getUserById(id);
        };
//        获取所有的用户
?
        @GetMapping("/getUsers")
        public List<User> getUsers(){
            return userService.getUsers();
        };
//        根据id修改密码
        /*
        *有个小问题,修改密码把个别数据修改了
        * */
        @GetMapping("/updateUserPassword")
        public int updateUserPassword(int id,String password){
            return userService.updateUserPassword(id,password);
        };
//        根据id删除用户
    /*
    *删除成功返回1
    * 失败返回0
     */
        @GetMapping("/deleteUser")
        public int deleteUser(int id){
            return userService.deleteUser(id);
        };
?
}

运行截图:

插入操作:

  • localhost:8080/insert?id=8&name=wangwu&age=15&password=123456

  • localhost:8080/insert?id=10&name=张三&age=20&sex=男&password=123456

?

URL中带着中文也是没有问题的:

?

查询所有:

  • localhost:8080/getUsers

?

根据id进行查询:

  • localhost:8080/getUserById?id=8

?

修改指定id用户的密码:

  • localhost:8080//updateUserPassword?id=8&password=456789

?

根据id删除指定用户:

  • localhost:8080/deleteUser?id=8

?

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-09-15 01:51:23  更:2022-09-15 01:52:39 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 13:02:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码