使用 Maven 创建项目并实现简单的 CRUD

项目创建好,开始写代码:

这里把 sql 数据库也给出来:
下载地址

/*
 Navicat Premium Data Transfer

 Source Server         : localhost_3306
 Source Server Type    : MySQL
 Source Server Version : 50726
 Source Host           : localhost:3306
 Source Schema         : mybatis_demo

 Target Server Type    : MySQL
 Target Server Version : 50726
 File Encoding         : 65001

 Date: 28/07/2021 17:22:32
*/

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user`  (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '用户名称',
  `birthday` datetime NULL DEFAULT NULL COMMENT '生日',
  `sex` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '性别',
  `address` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '地址',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 12 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES (1, '老王', '2018-02-27 17:47:08', '男', '北京');
INSERT INTO `user` VALUES (2, '熊大', '2018-03-02 15:09:37', '女', '上海');
INSERT INTO `user` VALUES (3, '熊二', '2018-03-04 11:34:34', '女', '深圳');
INSERT INTO `user` VALUES (4, '光头强', '2018-03-04 12:04:06', '男', '广州');
INSERT INTO `user` VALUES (8, '利好', '2021-07-28 17:16:11', '女', '泰山');
INSERT INTO `user` VALUES (9, '李四', '2021-07-28 16:11:39', '男', '北极');
INSERT INTO `user` VALUES (10, '李四', '2021-07-28 16:12:16', '男', '北极');
INSERT INTO `user` VALUES (11, '用户', '2021-07-28 17:21:32', '女', '中国美国');

SET FOREIGN_KEY_CHECKS = 1;

1、查询

Mybatis 是反着操作的,先写 sql 然后再创建方法,步骤如下:
在 UserDao.xml 里写下面的代码实现查询操作:
在这里插入图片描述

<select id="selectAll" resultType="com.xxxx.entity.User">
        select * from user
    </select>

id 是唯一标识,resultType 是返回值类型,由于查询返回的就是 User 类型,记得包路径别写错

然后在 UserDao 写方法
在这里插入图片描述
注意,方法名必须和刚刚写的 id 相同,这点很关键,注意返回值类型是 List 的 User,
然后进入 UserTest 文件,写方法:

@Test
    public void selectAll() {
        List<User> users = mapper.selectAll();
        for (User user :
                users) {
            System.out.println(user.toString());
        }
    }

注意,必须要写 @Test,users 接收到的就是查询完的结果
在这里插入图片描述
运行,得到结果:
在这里插入图片描述

2、删除

由于删除是根据用户的 id 进行的,所以同理在 UserDao.xml 里写代码:
在这里插入图片描述

这里一个细节:

# 和 @ 的区别

在这里插入图片描述

然后在 UserDao 里面写方法体:
在这里插入图片描述
在这里插入图片描述
执行结果是 1,说明删除成功

3、修改

同理,先去 UserDao.xml 写东西:

<update id="updateById" parameterType="com.xxxx.entity.User">
        update user set sex = #{sex}, birthday = #{birthday}, address = #{address}, username = #{username} where id = #{id};
    </update>

在这里插入图片描述
在这里插入图片描述

@Test
    public void updateById() {
        User user = new User();
        user.setId(8);
        user.setUsername("利好");
        user.setBirthday(new Date());
        user.setSex("女");
        user.setAddress("泰山");
        int count = mapper.updateById(user);
        session.commit();
        System.out.println(count);
    }

在这里插入图片描述
修改完毕,最后一个添加

4、添加

<insert id="addUser" parameterType="com.xxxx.entity.User">
        insert into user (username, birthday, sex, address) values(#{username}, #{birthday}, #{sex}, #{address});
    </insert>

在这里插入图片描述

@Test
    public void addUser() {
        User user = new User();
        user.setUsername("用户");
        user.setBirthday(new Date());
        user.setSex("女");
        user.setAddress("中国美国");
        int count = mapper.addUser(user);
        session.commit();
        System.out.println(count);
    }

完成 CRUD,完结撒花!!!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,以下是基于Spring Boot框架的简单CRUD应用程序的步骤: 1. 创建Spring Boot项目 使用Spring Initializr创建一个新的Spring Boot项目,选择Maven或Gradle构建工具,选择Java版本,填写项目名称和包名等信息,然后添加以下依赖项: - Spring Web - Spring Data JPA - H2 Database 点击“生成”按钮创建项目。 2. 配置数据库 在application.properties或application.yml文件中添加以下配置来连接H2数据库: ``` spring.h2.console.enabled=true spring.datasource.url=jdbc:h2:mem:testdb spring.datasource.driverClassName=org.h2.Driver spring.datasource.username=sa spring.datasource.password= ``` 这里我们使用了内存数据库,方便测试。 3. 创建实体类 创建一个实体类,例如Student,使用JPA注解标记属性和表之间的映射关系。例如: ```java @Entity @Table(name = "student") public class Student { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(name = "name") private String name; @Column(name = "age") private int age; // 省略getter和setter } ``` 4. 创建数据访问对象(DAO) 使用Spring Data JPA创建一个数据访问对象,例如: ```java @Repository public interface StudentRepository extends JpaRepository<Student, Long> { } ``` 这里我们继承了JpaRepository接口,它提供了一些通用的CRUD方法。 5. 创建控制器 创建一个控制器类,处理HTTP请求和响应。例如: ```java @RestController @RequestMapping("/students") public class StudentController { @Autowired private StudentRepository studentRepository; @GetMapping("/") public List<Student> getAllStudents() { return studentRepository.findAll(); } @PostMapping("/") public Student createStudent(@RequestBody Student student) { return studentRepository.save(student); } @GetMapping("/{id}") public Student getStudentById(@PathVariable Long id) { return studentRepository.findById(id).orElseThrow(() -> new ResourceNotFoundException("Student", "id", id)); } @PutMapping("/{id}") public Student updateStudent(@PathVariable Long id, @RequestBody Student studentDetails) { Student student = studentRepository.findById(id).orElseThrow(() -> new ResourceNotFoundException("Student", "id", id)); student.setName(studentDetails.getName()); student.setAge(studentDetails.getAge()); Student updatedStudent = studentRepository.save(student); return updatedStudent; } @DeleteMapping("/{id}") public ResponseEntity<?> deleteStudent(@PathVariable Long id) { Student student = studentRepository.findById(id).orElseThrow(() -> new ResourceNotFoundException("Student", "id", id)); studentRepository.delete(student); return ResponseEntity.ok().build(); } } ``` 6. 测试 启动应用程序,并使用HTTP客户端测试API。例如,使用cURL测试: ```bash curl -X GET http://localhost:8080/students/ curl -X POST -H "Content-Type: application/json" -d '{"name": "Alice", "age": 20}' http://localhost:8080/students/ curl -X GET http://localhost:8080/students/1 curl -X PUT -H "Content-Type: application/json" -d '{"name": "Alice", "age": 21}' http://localhost:8080/students/1 curl -X DELETE http://localhost:8080/students/1 ``` 以上就是一个简单的基于Spring Boot框架的CRUD应用程序的实现
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_努力努力再努力_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值