哈喽,大家好,我是有勇气的牛排(全网同名)🐮🐮🐮
有问题的小伙伴欢迎在文末评论,点赞、收藏是对我最大的支持!!!。
Spring Data了解下:
Spring Data官网:https://docs.spring.io/spring-data/jpa/docs/current/reference/html/
Spring Data主要为数据访问提供一个相似的、一致的、基于Spring的编程模型,同时保留各个数据库的存储特征,这使得数据访问技术变得非常简单。
常用的整合数据模型有:Jdbc、MyBatis、durid
CREATE TABLE `users` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(32) NOT NULL COMMENT '用户名称',`age` int(11) DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
insert into users values (null, '有勇气的牛排1', '18');
insert into users values (null, '有勇气的牛排2', '19');
insert into users values (null, '有勇气的牛排3', '20');
JdbcTemplate类是Spring对JDBC支持的核心,它提供了对数据库所有功能操作的支持。
org.springframework.boot spring-boot-starter-jdbc
mysql mysql-connector-java 5.1.21
spring:# 整合 JdbcTemplatedatasource:url: jdbc:mysql://localhost:3306/cs_test_springbootusername: rootpassword: root123456driver-class-name: com.mysql.jdbc.Driver
/** @Author : 有勇气的牛排* @FileName: UserService_jdbcTemplate.java* desc :* */package com.couragesteak.service;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class UserService_jdbcTemplate {@Autowiredprivate JdbcTemplate jdbcTemplate;/** 插入数据到user表* */// http://127.0.0.1:8080/insertUser?userName=cs666&age=21@RequestMapping("/insertUser")public String insertUser(String userName, Integer age) {int update = jdbcTemplate.update("insert into users values (null, ?, ?)", userName, age);return update > 0 ? "success" : "fail";}
}
MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行了封装,使开发者只需要关注SQL本身,而不需要花费精力去处理注册驱动、创建connection、创建statement、手动设置参数等操作。
org.mybatis.spring.boot mybatis-spring-boot-starter 1.1.1
mysql mysql-connector-java 5.1.21
org.mybatis.spring.boot mybatis-spring-boot-starter 1.1.1
mysql mysql-connector-java 5.1.21
/** @Author : 有勇气的牛排* @FileName: UserEntity.java* desc :* */package com.couragesteak.entity;public class UserEntity {private Integer id;private String userName;private Integer age;public UserEntity() {}public UserEntity(String userName, Integer age) {this.userName = userName;this.age = age;}public UserEntity(Integer id, String userName, Integer age) {this.id = id;this.userName = userName;this.age = age;}public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}
}
接口: UserMapper.java
package com.couragesteak.mapper;import com.couragesteak.entity.UserEntity;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;public interface UserMapper {@Insert("insert into users values (null, #{userName}, #{age});")int insertUser(@Param("userName") String userName, @Param("age") Integer age);@Select("select id, name, age from users where id=#{id}")UserEntity selectByUserId(@Param("id") Integer id);
}
/** @Author : 有勇气的牛排* @FileName: UserService_MyBatis.java* desc :* */package com.couragesteak.service;import com.couragesteak.entity.UserEntity;
import com.couragesteak.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class UserService_MyBatis {@Autowiredprivate UserMapper userMapper;/*** MyBatis 查询数据*/// http://127.0.0.1:8080/mybatis_findUser?id=3@RequestMapping("/mybatis_findUser")public UserEntity mybatis_FindUserById(Integer id) {System.out.println("======mybatis_FindUserById=======");System.out.println(id);return userMapper.selectByUserId(id);}/*** MyBatis 插入数据*/// http://127.0.0.1:8080/mybatis_insertUser?userName=cs7&age=22@RequestMapping("/mybatis_insertUser")public String mybatis_insertUser(String userName, Integer age) {int insert = userMapper.insertUser(userName, age);return insert > 0 ? "success" : "fail";}
}
参考地址: