文档章节

springboot+jpa公司现用

architect刘源源
 architect刘源源
发布于 2018/01/14 22:40
字数 366
阅读 31
收藏 1

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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.my.app</groupId>
  <artifactId>spring-boot-jpa-demo</artifactId>
  <packaging>war</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>spring-boot-jpa-demo Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <properties>
        <java.version>1.8</java.version>
    </properties>

    <!-- Inherit defaults from Spring Boot -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.4.1.BUILD-SNAPSHOT</version>
    </parent>

    <dependencies>
        <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>
        <dependency>
            <groupId>org.hsqldb</groupId>
            <artifactId>hsqldb</artifactId>
            <scope>runtime</scope>
        </dependency>
        <!-- MYSQL -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
        </dependency>
    </dependencies>

    <build>
        <finalName>spring-boot-jpa-demo</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <dependencies>
                    <dependency>
                        <groupId>org.springframework</groupId>
                        <artifactId>springloaded</artifactId>
                        <version>1.2.6.RELEASE</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>

    <!-- Add Spring repositories -->
    <!-- (you don't need this if you are using a .RELEASE version) -->
    <repositories>
        <repository>
            <id>spring-snapshots</id>
            <url>http://repo.spring.io/snapshot</url>
            <snapshots><enabled>true</enabled></snapshots>
        </repository>
        <repository>
            <id>spring-milestones</id>
            <url>http://repo.spring.io/milestone</url>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>spring-snapshots</id>
            <url>http://repo.spring.io/snapshot</url>
        </pluginRepository>
        <pluginRepository>
            <id>spring-milestones</id>
            <url>http://repo.spring.io/milestone</url>
        </pluginRepository>
    </pluginRepositories>
</project>

我们需要一个starter:spring-boot-starter-data-jpa 
因为我们使用的是mysql,所以需要:mysql-connector-java 
需要配置数据库文件:application.properties:

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

dao:

import java.util.List;

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

import com.my.app.domain.Student;

@Repository
public interface StudentRepository extends CrudRepository<Student, Integer>{

    @Query(value = "select s from Student s where s.name = ?1")
    List<Student> findByName(@Param("name") String name);

}

serviceImpl:

@Service
public class StudentServiceImpl implements StudentService {

    @Autowired
    private StudentRepository studentRepository;

    @Override
    public Student findByName(String name) {
        List<Student> students = studentRepository.findByName(name);
        return students != null && !students.isEmpty() ? students.get(0) : null;
    }

}
  •  

这里我们使用了CrudRepository来做一系列增删改查的操作。

代码地址,git: 
https://github.com/sunhuwh/spring-boot-jpa-demo

© 著作权归作者所有

architect刘源源

architect刘源源

粉丝 167
博文 554
码字总数 934264
作品 0
浦东
程序员
私信 提问
NOSQL选择问题?

公司情况,现用数据库oracle 9i: 一天入库数据量500W条记录左右。当天晚上,把一天的数据整理存入文件中,然后清空表。 查询当天数据在数据库表中查询,查询以前的数据通过文件查询。 现在想...

烧饼加肉
2011/12/07
1K
7
WebMvcConfigurerAdapter详解

SpringBoot——》WebMvcConfigurerAdapter详解 一、WebMvcConfigurerAdapter是什么 二、WebMvcConfigurerAdapter常用的方法 1、addInterceptors:拦截器 2、addCorsMappings:跨域 3、addVi......

fly祥
03/12
109
0
KindEditor里有几个js文件是干嘛的?可以删除吗?

作者你好,我是小泥鳅(http://www.loachs.com)的作者,下载试用了您编写的编辑器非常好用,比我现用的ckeditor更好用,我想问下这几个文件是干嘛的,体积都比较大,哪些可以删除呢...

小伟伟
2012/11/26
2.2K
4
单例模式在数据库操作上的应用场景是?

我看到很多框架都是现用现连式的. 单例模式更适合小型的应用? 对于数据库操作频繁的呢? 另.我还想问下大家,模板渲染的类是不是用单例适合?

hit9
2012/05/07
1K
2
微信企业号access_token刚获取完 就过期

用php做企业号 开发,刚开始获取access_token没问题,后来 总是提示过期,我就是现用现获取怎么还会过期呢,access_token是获取到的格式也对,就是在用它时 提示过期 怎么解决啊,求好心人...

hphper
2015/03/20
5.4K
4

没有更多内容

加载失败,请刷新页面

加载更多

Taro 兼容 h5 踩坑指南

最近一周在做 Taro 适配 h5 端,过程中改改补补,好不酸爽。 本文记录📝遇到的问题,希望为有相同需求的哥们👬节约点时间。 Taro 版本:1.3.9。 解决跨域问题 h5 发请求会报跨域问题,需...

dkvirus
41分钟前
3
0
Spring boot 静态资源访问

0. 两个配置 spring.mvc.static-path-patternspring.resources.static-locations 1. application中需要先行的两个配置项 1.1 spring.mvc.static-path-pattern 这个配置项是告诉springboo......

moon888
今天
2
0
hash slot(虚拟桶)

在分布式集群中,如何保证相同请求落到相同的机器上,并且后面的集群机器可以尽可能的均分请求,并且当扩容或down机的情况下能对原有集群影响最小。 round robin算法:是把数据mod后直接映射...

李朝强
今天
3
0
Kafka 原理和实战

本文首发于 vivo互联网技术 微信公众号 https://mp.weixin.qq.com/s/bV8AhqAjQp4a_iXRfobkCQ 作者简介:郑志彬,毕业于华南理工大学计算机科学与技术(双语班)。先后从事过电子商务、开放平...

vivo互联网技术
今天
19
0
java数据类型

基本类型: 整型:Byte,short,int,long 浮点型:float,double 字符型:char 布尔型:boolean 引用类型: 类类型: 接口类型: 数组类型: Byte 1字节 八位 -128 -------- 127 short 2字节...

audience_1
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部