Springboot + Gradle + Mysql + Jpa integración (más fácil)

Integración Springboot + Gradle + Mysql + Jpa

JPA

  • Origen

    • Para operar la base de datos más fácilmente, proporcione especificaciones estándar de persistencia
  • Que es

    • JPA (Java Persistence API-Java Persistence Layer API) La especificación oficial de persistencia Java de Sun se utiliza para facilitar el funcionamiento de la base de datos.
  • Características y rendimiento

    • Metadatos de mapeo de ORM: admite dos formas de metadatos, XML y anotaciones, y el marco persiste en consecuencia los objetos de entidad en las tablas de la base de datos
    • API: operar objetos de entidad, ejecutar CRUD
    • Lenguaje de consulta: lenguaje de consulta orientado al lenguaje en lugar de orientado a la base de datos
  • Como usar

  • Crear una tabla en la base de datos, el nombre de mi base de datos, el nombre de la game_manage_systemtablaGame_Type

create database game_manage_system;			#创建数据库

use game_manage_system;						#使用数据库
create table Game_Type(						#创建表
id int(11) not null auto_increment,
game_type_name varchar(30),
game_type_url varchar(255),
primary key(id)
)default charset=utf8;

#插入数据,方便测试
insert into game_manage_system.game_type values(null,"董","www.uniondong.top:8080");

  • En application.propertiesla información de base de datos complemento
#配置数据库信息
spring.datasource.url=jdbc:mysql://localhost:3306/game_manage_system?serverTimezone=UTC
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=1997Hang
spring.jpa.hibernate.ddl-auto=update
  • Inyección de dependencia, como sigue

        implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
        runtimeOnly 'mysql:mysql-connector-java:8.0.17'
    

    [La transferencia de la imagen del enlace externo falló, el sitio de origen puede tener un mecanismo de cadena antirrobo, se recomienda guardar la imagen y cargarla directamente (img-Yz9A68WK-1584707956297) .png)]

  • Crear la clase de entidad de la tabla correspondiente, mi nombre de clase de entidadGame_Type

@Entity                                                   //@Entity  实体类
@Table(name = "Game_Type")                                //说明这是一个表
public class Game_Type {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)   //自增
    @Column(name = "id")
    private int id;
    @Column(name = "game_type_name")                      //数据库的字段名
    private String game_type_name;
    @Column(name = "game_type_url")
    private String game_type_url;

    public Game_Type() {
    }


    public Game_Type(String game_type_name, String game_type_url) {
        this.game_type_name = game_type_name;
        this.game_type_url = game_type_url;
    }

    public Game_Type(Integer id,String game_type_name, String game_type_url) {
        this.id = id;
        this.game_type_name = game_type_name;
        this.game_type_url = game_type_url;
    }

    public String getGame_type_name() {
        return game_type_name;
    }

    public void setGame_type_name(String game_type_name) {
        this.game_type_name = game_type_name;
    }

    public String getGame_type_url() {
        return game_type_url;
    }

    public void setGame_type_url(String game_type_url) {
        this.game_type_url = game_type_url;
    }
}
  • Crear una clase de operación de base de datos DAO, utilizada para operar la tabla correspondiente, mi nombre de claseGame_Type_Dao
//提供泛型<Game_Type,Integer>,说明是Game_Type的DAO,并且主键是Integer类型
//JpaRepository 这个父接口,就提供了CRUD操作
public interface Game_Type_Dao  extends JpaRepository<Game_Type,Integer> {
}
  • Crear una interfaz de controlador para probar, agregar, eliminar, verificar y cambiar mi nombre de claseDao_Test
@RestController
public class Dao_Test {
	@Autowired
	Game_Type_Dao game_type_dao;

	//通过id查找
	@RequestMapping("/find_by_id_G_T")
	public Game_Type find_by_id_G_T(@RequestParam("id")Integer id){
		return game_type_dao.findById(id).get();		//调用库函数
	}
	//查找全部
	@RequestMapping("/Find_All_G_T")
	public List<Game_Type> find_all_G_T(){
		return game_type_dao.findAll();
	}
	//插入
	@RequestMapping("/Insert_G_T")
	public Game_Type insert_game_type(@RequestParam("game_type_name") String name,@RequestParam("game_type_url") String url){
		Game_Type game_type = new Game_Type(name,url);
		return game_type_dao.save(game_type);			//调用库函数
	}
	//删除
	@RequestMapping("/delete_By_Id_G_T")
	public void delete_by_id_game_type(@RequestParam("id")Integer id){
		game_type_dao.deleteById(id);					//调用库函数
	}
	//修改
	@RequestMapping("/update_game_type")
	public Game_Type update_game_type(@RequestParam("id") Integer id,@RequestParam("game_type_name") String name,@RequestParam("game_type_url") String url){
		Game_Type game_type = new Game_Type(id,name,url);
		return game_type_dao.save(game_type);			//调用库函数
	}
}
  • Finalmente, adjunte mi diseño de archivo para una fácil comprensión
    Inserte la descripción de la imagen aquí

End

Publicado 46 artículos originales · elogiado 75 · 50,000+ vistas

Supongo que te gusta

Origin blog.csdn.net/UNIONDONG/article/details/104998076
Recomendado
Clasificación