使用spring data jpa + maven开发服务端接口

来源:互联网 发布:淘宝店铺彻底释放 编辑:程序博客网 时间:2024/05/16 07:47

整体目录结构如下:


pom.xml 内容:

<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.lala</groupId><artifactId>myapi</artifactId><version>1.0.0</version><packaging>jar</packaging><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.2.0.RELEASE</version></parent><name>myapi</name><url>http://maven.apache.org</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-jpa</artifactId></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId></dependency><dependency><groupId>org.postgresql</groupId><artifactId>postgresql</artifactId><version>9.3-1102-jdbc41</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-data-jpa</artifactId></dependency></dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>1.8</source><target>1.8</target><verbose>true</verbose></configuration></plugin><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-eclipse-plugin</artifactId><configuration><sourceExcludes><sourceExclude>**/.svn/</sourceExclude></sourceExcludes><downloadSources>true</downloadSources><ajdtVersion>none</ajdtVersion></configuration></plugin></plugins></build></project>


application.properties 内容:

pp.name=myapiapp.description=${reader.name} is a Spring Boot applicationapp.version=1.0.0server.port=9060spring.datasource.driverClassName=org.postgresql.Driverspring.datasource.url=jdbc:postgresql://127.0.0.1/db_cloudspring.datasource.username=xrkadminspring.datasource.password=adminspring.jpa.show-sql=truespring.jpa.hibernate.dialect=org.hibernate.dialect.PostgreSQL9Dialectspring.jpa.hibernate.ddl-auto= none


User.java 内容 :

package com.lala.myapi;import java.util.Date;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import javax.persistence.Table;/** * Created by admin on 14-10-21 */@Entity@Table(name = "users")public class User{@Id    @Column    @GeneratedValue(strategy = GenerationType.IDENTITY)    private Integer uid;//自增长的id(userId)@Columnprivate String uname;@Columnprivate String nick;@Columnprivate String email;@Columnprivate Date ctime;@Columnprivate Integer status;public Integer getUid() {return uid;}public void setUid(Integer uid) {this.uid = uid;}public String getUname() {return uname;}public void setUname(String uname) {this.uname = uname;}public String getNick() {return nick;}public void setNick(String nick) {this.nick = nick;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}public Date getCtime() {return ctime;}public void setCtime(Date ctime) {this.ctime = ctime;}public Integer getStatus() {return status;}public void setStatus(Integer status) {this.status = status;}}

UserRepository.java 内容 :

package com.lala.myapi;import org.springframework.data.repository.CrudRepository;import org.springframework.stereotype.Repository;@Repositorypublic interface UserRepository extends CrudRepository<User, Integer> {}

AppController.java 内容为:

package com.lala.myapi;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.ResponseBody;@Controller@RequestMapping("/api")public class AppController {@AutowiredUserRepository userRepository;@ResponseBody    @RequestMapping(value = "/v1/find_by_id", method = RequestMethod.GET)    public Object find()    {return userRepository.findOne(1);    }}


App.java 内容为:


package com.lala.myapi;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.EnableAutoConfiguration;import org.springframework.context.annotation.ComponentScan;import org.springframework.context.annotation.Configuration;import org.springframework.data.jpa.repository.config.EnableJpaRepositories;/** * Hello world! * */@ComponentScan("com")@EnableJpaRepositories("com")@Configuration@EnableAutoConfigurationpublic class App {    public static void main( String[] args )    {    SpringApplication.run(App.class, args);    }}


最后,运行App文件,启动成功之后,在浏览器中输入 http://127.0.0.1:9060/api/v1/find_by_id 即可看到效果

8 0
原创粉丝点击