文档章节

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
博文 555
码字总数 935372
作品 0
浦东
程序员
私信 提问
NOSQL选择问题?

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

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

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

fly祥
03/12
113
0
单例模式在数据库操作上的应用场景是?

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

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

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

hphper
2015/03/20
5.4K
4
KindEditor里有几个js文件是干嘛的?可以删除吗?

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

小伟伟
2012/11/26
2.2K
4

没有更多内容

加载失败,请刷新页面

加载更多

高防CDN的出现是为了解决网站的哪些问题?

高防CDN是为了更好的服务网络而出现的,是通过高防DNS来实现的。高防CDN是通过智能化的系统判断来路,再反馈给用户,可以减轻用户使用过程的复杂程度。通过智能DNS解析,能让网站访问者连接到...

云漫网络Ruan
今天
12
0
聊聊Tomcat中的连接器(Connector)

上期回顾 上一篇文章《Tomcat在SpringBoot中是如何启动的》从main方法启动说起,窥探了SpringBoot是如何启动Tomcat的,在分析Tomcat中我们重点提到了,Tomcat主要包括2个组件,连接器(Conne...

木木匠
今天
9
0
OSChina 周一乱弹 —— 熟悉的味道,难道这就是恋爱的感觉

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @xiaoshiyue :好久没分享歌了分享张碧晨的单曲《今后我与自己流浪》 《今后我与自己流浪》- 张碧晨 手机党少年们想听歌,请使劲儿戳(这里)...

小小编辑
今天
2.4K
22
SpringBoot中 集成 redisTemplate 对 Redis 的操作(二)

SpringBoot中 集成 redisTemplate 对 Redis 的操作(二) List 类型的操作 1、 向列表左侧添加数据 Long leftPush = redisTemplate.opsForList().leftPush("name", name); 2、 向列表右......

TcWong
今天
42
0
排序––快速排序(二)

根据排序––快速排序(一)的描述,现准备写一个快速排序的主体框架: 1、首先需要设置一个枢轴元素即setPivot(int i); 2、然后需要与枢轴元素进行比较即int comparePivot(int j); 3、最后...

FAT_mt
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部