当前位置:   article > 正文

Spring Boot 笔记 002 整合mybatis做数据库读取

Spring Boot 笔记 002 整合mybatis做数据库读取

概念

MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

mysql和mybatis依赖配置

  1. <!-- mysql驱动依赖 -->
  2. <dependency>
  3. <groupId>com.mysql</groupId>
  4. <artifactId>mysql-connector-j</artifactId>
  5. </dependency>
  6. <!-- mybatis的起步依赖 -->
  7. <dependency>
  8. <groupId>org.mybatis.spring.boot</groupId>
  9. <artifactId>mybatis-spring-boot-starter</artifactId>
  10. <version>3.0.0</version>
  11. </dependency>

数据库创建

  1. create database if not exists mybatis;
  2. use mybatis;
  3. create table user(
  4. id int unsigned primary key auto_increment comment 'ID',
  5. name varchar(100) comment '姓名',
  6. age tinyint unsigned comment '年龄',
  7. gender tinyint unsigned comment '性别, 1:男, 2:女',
  8. phone varchar(11) comment '手机号'
  9. ) comment '用户表';
  10. insert into user(id, name, age, gender, phone) VALUES (null,'白眉鹰王',55,'1','18800000000');
  11. insert into user(id, name, age, gender, phone) VALUES (null,'金毛狮王',45,'1','18800000001');
  12. insert into user(id, name, age, gender, phone) VALUES (null,'青翼蝠王',38,'1','18800000002');
  13. insert into user(id, name, age, gender, phone) VALUES (null,'紫衫龙王',42,'2','18800000003');
  14. insert into user(id, name, age, gender, phone) VALUES (null,'光明左使',37,'1','18800000004');
  15. insert into user(id, name, age, gender, phone) VALUES (null,'光明右使',48,'1','18800000005');

数据库配置

  1. spring:
  2. datasource:
  3. driver-class-name: com.mysql.cj.jdbc.Driver
  4. url: jdbc:mysql://localhost:3306/mybatis
  5. username: root
  6. password: root

创建实体类User

  1. package com.geji.pojo;
  2. public class User {
  3. private Integer id;
  4. private String name;
  5. private Short age;
  6. private Short gender;
  7. private String phone;
  8. public User() {
  9. }
  10. public User(Integer id, String name, Short age, Short gender, String phone) {
  11. this.id = id;
  12. this.name = name;
  13. this.age = age;
  14. this.gender = gender;
  15. this.phone = phone;
  16. }
  17. public Integer getId() {
  18. return id;
  19. }
  20. public void setId(Integer id) {
  21. this.id = id;
  22. }
  23. public String getName() {
  24. return name;
  25. }
  26. public void setName(String name) {
  27. this.name = name;
  28. }
  29. public Short getAge() {
  30. return age;
  31. }
  32. public void setAge(Short age) {
  33. this.age = age;
  34. }
  35. public Short getGender() {
  36. return gender;
  37. }
  38. public void setGender(Short gender) {
  39. this.gender = gender;
  40. }
  41. public String getPhone() {
  42. return phone;
  43. }
  44. public void setPhone(String phone) {
  45. this.phone = phone;
  46. }
  47. @Override
  48. public String toString() {
  49. return "User{" +
  50. "id=" + id +
  51. ", name='" + name + '\'' +
  52. ", age=" + age +
  53. ", gender=" + gender +
  54. ", phone='" + phone + '\'' +
  55. '}';
  56. }
  57. }

定义接口

  1. package com.geji.mapper;
  2. import com.geji.pojo.User;
  3. import org.apache.ibatis.annotations.Mapper;
  4. import org.apache.ibatis.annotations.Select;
  5. @Mapper
  6. public interface UserMapper {
  7. @Select("select * from user where id=#{id}")
  8. public User findById(Integer id);
  9. }

  1. package com.geji.service;
  2. import com.geji.pojo.User;
  3. public interface UserService {
  4. public User findById(Integer id);
  5. }

创建查询类

  1. package com.geji.service.impl;
  2. import com.geji.mapper.UserMapper;
  3. import com.geji.pojo.User;
  4. import com.geji.service.UserService;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.stereotype.Service;
  7. @Service
  8. public class UserServiceImpl implements UserService {
  9. @Autowired
  10. private UserMapper userMapper;
  11. @Override
  12. public User findById(Integer id) {
  13. return userMapper.findById(id);
  14. }
  15. }

编写controller

  1. package com.geji.controller;
  2. import com.geji.pojo.User;
  3. import com.geji.service.UserService;
  4. import org.springframework.beans.factory.annotation.Autowired;
  5. import org.springframework.web.bind.annotation.RequestMapping;
  6. import org.springframework.web.bind.annotation.RestController;
  7. @RestController
  8. public class UserController {
  9. @Autowired
  10. private UserService userService;
  11. @RequestMapping("/findById")
  12. public User findById(Integer id){
  13. return userService.findById(id);
  14. }
  15. }

打开网页查看效果

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/68601
推荐阅读
相关标签
  

闽ICP备14008679号