您的位置:首页 > 编程语言 > Java开发

springboot+hibernate+Mysql快速入门

2018-11-06 15:10 302 查看

超详细的springboot+hibernate+MySQL入门案例

1、STS(eclipse)建立

2、然后点击默认包分别建立Mapper、Controller、Medol、Service、ServiceImpl包,建立好后项目工程如同

2.1 application.properties配置内容:

spring.datasource.url = jdbc:mysql://localhost:3306/zzc?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
spring.datasource.username = root
spring.datasource.password = zzc
spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver
spring.datasource.max-active=20
spring.datasource.max-idle=8
spring.datasource.min-idle=8
spring.datasource.initial-size=10

server.port=8090
spring.jpa.database = MYSQL
# Show or not log for each sql query
spring.jpa.show-sql = true
# Hibernate ddl auto (create, create-drop, update)
spring.jpa.hibernate.ddl-auto = update
# Naming strategy
spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy
# stripped before adding them to the entity manager)
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect

spring.thymeleaf.prefix = classpath:/templates/
spring.thymeleaf.suffix = .ftl

2.2 pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>HibernateDemo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>HibernateDemo</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.0.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>1.2.24</version>
            </dependency>
            <dependency>
              <groupId>com.fasterxml.jackson.core</groupId>
              <artifactId>jackson-core</artifactId>
              </dependency>
            <dependency>
              <groupId>com.fasterxml.jackson.core</groupId>
              <artifactId>jackson-annotations</artifactId>
              </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>2.6.0</version>
            </dependency>
         <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>
 

 

 

 

3、建立实体类Person:

package com.example.demo.Model;

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

@Entity
public class Person {
    @Id
    @GeneratedValue
    private long id;
    
    private String name;
    
    private int age;

    public long getId() {
        return id;
    }

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

    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;
    }

}
4、建立实体类PersonRepository,继承JpaRepository:

package com.example.demo.Mapper;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;

import com.example.demo.Model.Person;

@Repository
public interface PersonRepository extends JpaRepository<Person,Long>{

    @Query("select t from Person t where t.name = :name")
    Person findByUserName(@Param("name") String name);
}
5、建立PersonService:

package com.example.demo.Service;

import java.util.List;

import com.example.demo.Model.Person;

public interface PersonService {

    public Person savePerson(Person record);
    
    public List<Person> getPerson();
    
    public Person findByUserName(String name);
}
6、建立PersonService的实现类PersonServiceImpl:

package com.example.demo.Service.Impl;

import java.util.List;
import java.util.Optional;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.example.demo.Mapper.PersonRepository;
import com.example.demo.Model.Person;
import com.example.demo.Service.PersonService;

@Service("PersonService")
public class PersonServiceImpl implements PersonService{

    @Autowired
    private PersonRepository personRepository;
    
    public Person savePerson(Person record){
        Person person = new Person();
        person.setName(record.getName());
        person.setAge(record.getAge());
        return personRepository.save(person);
    }
    
    public List<Person> getPerson(){
        return (List<Person>) personRepository.findAll();
    }

    @Override
    public Person findByUserName(String name) {
        return personRepository.findByUserName(name);
    }
}
7、建立PersonController层:

package com.example.demo.Controller;

import java.util.List;
import java.util.Optional;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.example.demo.Model.Person;
import com.example.demo.Service.PersonService;

@RestController
public class PersonController {

    @Autowired
    private PersonService personService;
    
    @RequestMapping("savePerson")
    public int savePerson(@RequestBody Person record) {
        personService.savePerson(record);
        return 1;
    }
    
    @RequestMapping("selectPerson")
    public List<Person> selectPerson(@RequestBody Person record) {
        List<Person> dataList =  personService.getPerson();
        return dataList;
    }
    
    @RequestMapping("getPerson")
    public Person getPerson(@RequestBody Person record) {
        return personService.findByUserName(record.getName());
    }
    
}
 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: