成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

SpringBoot 1024行代碼 - 用JPA訪問(wèn)MySQL

JerryWangSAP / 1757人閱讀

摘要:前言訪問(wèn)關(guān)系型數(shù)據(jù)庫(kù)是工程常見(jiàn)的需求。是當(dāng)今業(yè)界應(yīng)用最廣泛的開(kāi)源關(guān)系型數(shù)據(jù)庫(kù)。全家桶提供了,可以讓開(kāi)發(fā)者方便快捷地開(kāi)發(fā)出訪問(wèn)的業(yè)務(wù)代碼。

前言

訪問(wèn)關(guān)系型數(shù)據(jù)庫(kù)是Web工程常見(jiàn)的需求。MySQL是當(dāng)今業(yè)界應(yīng)用最廣泛的開(kāi)源關(guān)系型數(shù)據(jù)庫(kù)。Spring Boot全家桶提供了JPA,可以讓開(kāi)發(fā)者方便快捷地開(kāi)發(fā)出訪問(wèn)MySQL的業(yè)務(wù)代碼。

準(zhǔn)備工作

1 安裝jdk1.8
2 安裝maven
3 具備Spring和SpringMVC的基礎(chǔ)知識(shí)

具體步驟 1. 搭建一個(gè)MySQL數(shù)據(jù)庫(kù),創(chuàng)建一個(gè)名叫test的數(shù)據(jù)庫(kù),在test庫(kù)中創(chuàng)建一個(gè)user表
CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(45) DEFAULT NULL,
  `phone` varchar(45) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `name` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
2. 在pom.xml中加入Spring Boot中跟MySQL相關(guān)的引用
    
        org.springframework.boot
        spring-boot-starter-parent
        1.5.8.RELEASE
    

    

        
            org.springframework.boot
            spring-boot-starter-web
        

        

        
            org.springframework.boot
            spring-boot-starter-data-jpa
        

        

        
            mysql
            mysql-connector-java
        

    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    
3. 創(chuàng)建一個(gè)程序入口類
package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}
4. 修改application.properties文件,添加MySQL的配置
spring.jpa.hibernate.ddl-auto=none
spring.datasource.url=jdbc:mysql://localhost:3306/test?useSSL=false
spring.datasource.username=root
spring.datasource.password=
5. 添加一個(gè)user表對(duì)應(yīng)的實(shí)體類User
package com.example.demo.entity;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

@Entity
public class User {
    @Id
    @GeneratedValue(strategy= GenerationType.AUTO)
    private Integer id;

    private String name;

    private String phone;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }
}
6. 創(chuàng)建一個(gè)UserRepository接口
package com.example.demo.repository;

import com.example.demo.entity.User;
import org.springframework.data.repository.CrudRepository;

public interface UserRepository extends CrudRepository {
}
7. 創(chuàng)建一個(gè)測(cè)試方法
package com.example.demo.controller;

import com.example.demo.entity.User;
import com.example.demo.repository.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class UserController {

    @Autowired
    private UserRepository userRepository;

    /**
     * add user
     * @param name
     * @param phone
     * @return
     */
    @RequestMapping(path="/user", method = RequestMethod.POST)
    @ResponseBody
    public String addNewUser (@RequestParam String name, @RequestParam String phone) {
        User n = new User();
        n.setName(name);
        n.setPhone(phone);
        userRepository.save(n);
        return "Success";
    }
}
8. 調(diào)用接口添加一條數(shù)據(jù)到mysql
curl -X POST 127.0.0.1:8080/user -d "name=tom&phone=654321"

觀察數(shù)據(jù)庫(kù)user表,發(fā)現(xiàn)增加了一條新數(shù)據(jù)

源碼

https://github.com/gzllol/spr...

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/70672.html

相關(guān)文章

  • SpringBoot 實(shí)戰(zhàn) (八) | 使 Spring Data JPA 訪問(wèn) Mysql 數(shù)據(jù)

    摘要:是一個(gè)基于映射的標(biāo)準(zhǔn)協(xié)議目前最新版本是。的主要實(shí)現(xiàn)由和等完成,我們只要使用來(lái)開(kāi)發(fā),無(wú)論是哪一個(gè)開(kāi)發(fā)方式都是一樣的。是的一個(gè)子項(xiàng)目,它通過(guò)基于的極大地減少了作為數(shù)據(jù)訪問(wèn)方案的代碼量。源碼下載后語(yǔ)以上為使用訪問(wèn)數(shù)據(jù)庫(kù)的教程。 微信公眾號(hào):一個(gè)優(yōu)秀的廢人如有問(wèn)題或建議,請(qǐng)后臺(tái)留言,我會(huì)盡力解決你的問(wèn)題。 前言 如題,今天介紹 Spring Data JPA 的使用。 什么是 Spring D...

    hedzr 評(píng)論0 收藏0
  • SpringBoot 實(shí)戰(zhàn) (十) | 聲明式事務(wù)

    摘要:前言如題,今天介紹的聲明式事務(wù)。提供一個(gè)注解在配置類上來(lái)開(kāi)啟聲明式事務(wù)的支持。而在配置里還開(kāi)啟了對(duì)聲明式事務(wù)的支持,代碼如下所以在中,無(wú)須顯式開(kāi)啟使用注解。源碼下載后語(yǔ)以上為聲明式事務(wù)的教程。 微信公眾號(hào):一個(gè)優(yōu)秀的廢人如有問(wèn)題或建議,請(qǐng)后臺(tái)留言,我會(huì)盡力解決你的問(wèn)題。 前言 如題,今天介紹 SpringBoot 的 聲明式事務(wù)。 Spring 的事務(wù)機(jī)制 所有的數(shù)據(jù)訪問(wèn)技術(shù)都有事務(wù)處...

    ygyooo 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<