springboot使用Jpa连接数据库

springboot使用Jpa连接数据库

1.pom.xml:



    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    4.0.0

    com.example
    spring-data_JpaAndJdbcTemplate
    0.0.1-SNAPSHOT
    jar

    spring-mybatis
    Demo project for Spring Boot

    
        org.springframework.boot
        spring-boot-starter-parent
        1.5.10.RELEASE
         
    

    
        UTF-8
        UTF-8
        1.8
    

    

        
            org.springframework.boot
            spring-boot-starter
            
                
                    org.springframework.boot
                    spring-boot-starter-logging
                
            
        
        
            org.springframework.boot
            spring-boot-starter-actuator
        

        
            org.springframework.boot
            spring-boot-starter-log4j
        
        
            org.springframework.boot
            spring-boot-starter-web
        
        
            mysql
            mysql-connector-java
            5.1.21
        

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

    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    


2.application.properties:

spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

3.Student:

package com.example.springmybatis.entity;

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

@Entity
public class Student {

    @Id
    @GeneratedValue
    private String name;
    @Column(nullable = true)
    private int age;
    @Column(nullable = true)
    private String address;

    private String collage;

    private String sex;

    public String getName() {
        return name;
    }

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

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getCollage() {
        return collage;
    }

    public void setCollage(String collage) {
        this.collage = collage;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", address='" + address + '\'' +
                ", collage='" + collage + '\'' +
                ", sex='" + sex + '\'' +
                '}';
    }
}

4.UserRepository:

package com.example.springmybatis.service;

import com.example.springmybatis.entity.Student;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;

import java.util.List;

public interface UserRepository extends JpaRepository {

    List findByName(String name);

    Student findByNameAndAge(String name, Integer age);

    int findByAge(int age);

    Page findAll(Pageable pageable);

}

5.UserController:

package com.example.springmybatis.Controller;


import com.example.springmybatis.entity.Student;
import com.example.springmybatis.service.UserRepository;
import com.example.springmybatis.service_jdbc.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
public class UserController {

    @Autowired
    private UserRepository userRepository;
/**
     * spring-data-jpa连接数据库
     * @param name
     * @param age
     * @return
     * @throws Exception
     */
    @RequestMapping(value = "/name", method = RequestMethod.GET)
    @ResponseBody
    public Student GetGoodList(@RequestParam("name") String name, @RequestParam(value = "age", required = false,
            defaultValue = "27") int age)throws Exception{

        Student user = userRepository.findByNameAndAge(name, age);
        return user;
    }


    @RequestMapping(value = "/names", method = RequestMethod.GET)
    @ResponseBody
    public List GetName(@RequestParam(value = "name", defaultValue = "易水寒") String name)throws Exception{

        List user = userRepository.findByName(name);
        return user;
    }
     /**
     * jpa排序分页
     * @param page
     * @param size
     * @return
     */
    @RequestMapping(value = "/finds", method=RequestMethod.GET)
    public Page getEntryByParams(@RequestParam(value = "page", defaultValue = "0") Integer page,
                                          @RequestParam(value = "size", defaultValue = "15") Integer size) {

        Pageable pageable = new PageRequest(page, size, Sort.Direction.DESC, "age");
        return userRepository .findAll(pageable);
    }
}

6.spring boot启动项:

package com.example.springmybatis;

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

@SpringBootApplication
public class SpringDataJpaAPP {

    public static void main(String[] args) {
        SpringApplication.run(SpringDataJpaAPP.class, args);
    }
}

7.sql:

CREATE TABLE `student` (
  `name` varchar(100) NOT NULL,
  `age` int(10) NOT NULL,
  `address` varchar(100) NOT NULL,
  `collage` varchar(100) NOT NULL,
  `sex` varchar(10) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8

 

转载于:https://www.cnblogs.com/heqiyoujing/p/9470657.html

你可能感兴趣的:(数据库,java)