Skip to content

Commit

Permalink
add-jpa
Browse files Browse the repository at this point in the history
  • Loading branch information
wenxiaoning committed Jan 21, 2018
1 parent c3fbd99 commit 4396deb
Show file tree
Hide file tree
Showing 8 changed files with 169 additions and 1 deletion.
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -120,3 +120,7 @@ crawler/common
# for java
*.class
*/target/*

# for vim
*.vim/*

Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public CommandLineRunner commandLineRunner(ApplicationContext ctx) {
String[] beanNames = ctx.getBeanDefinitionNames();
Arrays.sort(beanNames);
for (String beanName : beanNames) {
System.out.println("beanName"+ beanName);
System.out.println(beanName);
}

};
Expand Down
45 changes: 45 additions & 0 deletions java/SpringBoot-JPA/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.wxnacy.spring</groupId>
<artifactId>SpringBoot-JPA</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>SpringBoot-JPA</name>
<url>http://maven.apache.org</url>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
</dependencies>
<properties>
<java.version>1.8</java.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package com.wxnacy.spring;

import java.util.Arrays;

import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;

@SpringBootApplication
public class Application {

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

}
42 changes: 42 additions & 0 deletions java/SpringBoot-JPA/src/main/java/com/wxnacy/spring/User.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
package com.wxnacy.spring;

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;


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

public String getName() {
return name;
}

public User() {
}

public User(Integer id, String name) {
this.id = id;
this.name = name;
}
public User(String name) {
this.name = name;
}

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

public Integer getId() {
return id;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
package com.wxnacy.spring;

import java.util.List;
import java.util.Map;

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

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class UserController {

@Autowired
private UserRepository userRepository;

@GetMapping("/user")
public List<User> users(
@RequestParam(required=false, defaultValue="wxnacy") String name
) {
List<User> res = userRepository.findByName(name);
return res;
}

@GetMapping("/user/{id}")
public User user(
@PathVariable Integer id
) {
User user = userRepository.findById(id);
return user;
}

@PostMapping("/user")
public User create(
@RequestBody Map<String, String> body
) {
User user = new User(body.get("name"));
User item = userRepository.save(user);
return item;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package com.wxnacy.spring;

import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository;

public interface UserRepository extends JpaRepository<User, Integer> {
List<User> findByName(String name);
User findById(Integer id);
}
5 changes: 5 additions & 0 deletions java/SpringBoot-JPA/src/main/resources/application.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# spring.jpa.hibernate.ddl-auto=create
spring.datasource.url=jdbc:mysql://localhost:3306/study
spring.datasource.username=root
spring.datasource.password=wxnacy
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

0 comments on commit 4396deb

Please sign in to comment.