今天公司要做一个小项目,好久没碰项目了(刷题好累。。。),听说spring boot很火,决定试一试。暂时就从mysql里面读数据好了,使用hiberante。

1.获取jar包。

从http://start.spring.io/获取,当然对于使用eclipse(离不开。。。)的同学,有STS插件支持,关于插件用法自行百度,很简单。关键的是选择要支持的特性。这里是读数据,我记得只选择了web,jpa和mysql三个标签。

2.导入工程。

新建实体类:

  1. package com.example.demo;
  2. import javax.persistence.Entity;
  3. import javax.persistence.GeneratedValue;
  4. import javax.persistence.Id;
  5. @Entity
  6. public class Person {
  7. @Id
  8. @GeneratedValue
  9. private Long id;
  10. private String name;
  11. private String address;
  12. public String getName() {
  13. return name;
  14. }
  15. public void setName(String name) {
  16. this.name = name;
  17. }
  18. public String getAddress() {
  19. return address;
  20. }
  21. public void setAddress(String address) {
  22. this.address = address;
  23. }
  24. }

要注意@Entity来自javax包。

Dao类:

  1. package com.example.demo;
  2. import java.util.List;
  3. import org.springframework.data.jpa.repository.JpaRepository;
  4. public interface Dao extends JpaRepository<Person, Long>{
  5. List<Person> findByName(String name);
  6. }

只需要继承一个jpa的类即可。而且不需要实现,提供默认的查找方法。。。很方便。

controller

  1. package com.example.demo;
  2. import org.springframework.beans.factory.annotation.Autowired;
  3. import org.springframework.boot.SpringApplication;
  4. import org.springframework.boot.autoconfigure.SpringBootApplication;
  5. import org.springframework.web.bind.annotation.RequestMapping;
  6. import org.springframework.web.bind.annotation.RestController;
  7. @RestController
  8. @SpringBootApplication
  9. public class Demo2Application {
  10. @Autowired
  11. Dao dao;
  12. @RequestMapping("/get")
  13. public Person getP(String name){
  14. Person person = dao.findByName(name).get(0);
  15. return person;
  16. }
  17. @RequestMapping("/")
  18. public String index(){
  19. return "Hello Spring Boot";
  20. }
  21. public static void main(String[] args) {
  22. SpringApplication.run(Demo2Application.class, args);
  23. }
  24. }

只添加一个查数据的url。

最后是配置文件:

  1. spring.datasource.driver-class-name=com.mysql.jdbc.Driver
  2. spring.datasource.url=jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8
  3. spring.datasource.username=root
  4. spring.datasource.password=
  5. spring.jpa.hibernate.ddl-auto=update;
  6. spring.jpa.show-sql=true
  7. spring.jackson.serialization.indent-output=true

访问之前,现在数据库中建表,插数据。

然后启动,浏览器访问。

浏览器:

说明访问成功。

整体感觉就是,这个框架帮程序员实现了太多功能,原本光一个hibernate就需要N多配置,但是在springboot中完全没有感知hibernate的存在。有时间需要研究下源码,看看他是怎么做到的。

这个简单的demo就到此结束了。

 

【Spring boot】第一个项目 Springboot + mysql + hibernate的更多相关文章

  1. 从零一起学Spring Boot之LayIM项目长成记(一) 初见 Spring Boot

    项目背景 之前写过LayIM的.NET版后端实现,后来又写过一版Java的.当时用的是servlet,websocket和jdbc.虽然时间过去很久了,但是仍有些同学在关注.偶然间我听说了Spring ...

  2. Spring boot 多模块项目 + Swagger 让你的API可视化

    Spring boot 多模块项目 + Swagger 让你的API可视化 前言 手写 Api 文档的几个痛点: 文档需要更新的时候,需要再次发送一份给前端,也就是文档更新交流不及时. 接口返回结果不 ...

  3. Maven 搭建spring boot多模块项目(附源码),亲测可以,感谢原创

    原创地址:https://segmentfault.com/a/1190000005020589 我的DEMO码云地址,持续添加新功能: https://gitee.com/itbase/Spring ...

  4. 从零一起学Spring Boot之LayIM项目长成记(二) LayIM初体验

    前言 接上篇,已经完成了一个SpringBoot项目的基本搭建.那么现在就要考虑要做什么,怎么做的问题.所以本篇内容不多,带大家一起来简单了解一下要做的东西,之前有很多人不知道从哪里下手,那么今天我带 ...

  5. Maven 搭建spring boot多模块项目

    Maven 搭建spring boot多模块项目 备注:所有项目都在idea中创建 1.idea创建maven项目 1-1: 删除src,target目录,只保留pom.xml 1-2: 根目录pom ...

  6. 从零一起学Spring Boot之LayIM项目长成记(四) Spring Boot JPA 深入了解

    前言 本篇内容主要是一些关于JPA的常用的一些用法等.内容也是很多是看其他博客学来的,顺道在本系列博客里抽出一篇作为总结.下面让我们来看看吧. 不过我更推荐大家读本篇:https://lufficc. ...

  7. Spring Boot 2.0系列文章(五):Spring Boot 2.0 项目源码结构预览

    关注我 转载请务必注明原创地址为:http://www.54tianzhisheng.cn/2018/04/15/springboot2_code/ 项目结构 结构分析: Spring-boot-pr ...

  8. 使用Spring Boot开发Web项目(二)之添加HTTPS支持

    上篇博客使用Spring Boot开发Web项目我们简单介绍了使用如何使用Spring Boot创建一个使用了Thymeleaf模板引擎的Web项目,当然这还远远不够.今天我们再来看看如何给我们的We ...

  9. Github 上 Star 最多的个人 Spring Boot 开源学习项目

    2016年,在一次技术调研的过程中认识到了 Spring Boot ,试用之后便一发不可收拾的爱上它.为了防止学习之后忘记,就在网上连载了 Spring Boot 系列文章,没想到这一开始便与 Spr ...

随机推荐

  1. VS2010中遇到_WIN32_WINNT not defined

    VS2010中编程时遇到这个问题 _WIN32_WINNT not defined. Defaulting to _WIN32_WINNT_MAXVER (see WinSDKVer.h) 解决办法: ...

  2. C#--类成员

    数据成员: 字段: 常量: 函数成员(执行代码): 方法: 属性 构造函数 析构函数 运算符 索引 事件 可以被声明为Static的类成员是:

  3. caffe make 编译

    其实嘛,出现这个的原因在于,已经编译过啦,没有任何改动,那还烦劳编译啥呢. 那Linux又是如何知道已经编译过了呢? 那就要看makefile的规则啦.makefile的规则是所想产生的文件需要依赖很 ...

  4. TinyXml 操作XML 常用操作

    源代码下载:http://sourceforge.net/projects/tinyxml/files/ 如下是一个XML片段:    <Persons>        <Perso ...

  5. HTML解析HtmlAgility学习

    HtmlAgility是一个开源的Html解析库,据说是C#版的JQuery,功能非常强大. 该篇学习它的解析功能,还可以模拟用户请求,创建html,设置代理等等,暂先不研究. ----------- ...

  6. Spring Cloud 概述

    1. Spring Cloud 引言 首先我们打开spring 的官网:https://spring.io/ 我们会看到这样一张图片 这个图片告诉我们,开发我们的应用程序就像盖楼一样, 首先我们需要搭 ...

  7. Wireshark分析网络慢

        tcp.analysis.retransmission tcp.flags.reset==1

  8. [sh]sed 4个功能

    [root@lanny test]# cat test.txt test liyao lanny 经典博文: http://oldboy.blog.51cto.com/2561410/949365 h ...

  9. mysqldump 备份某张表 Warning: A partial dump from a server that has GTIDs will by default include the GTIDs of all transactions,

    [root@NB ok]# mysqldump -uemove -h xx.xx.xx.xx -P9906 DBname t_name -p >2t_tname.sqlWarning: A pa ...

  10. schema中的虚拟属性方法

    schema中的虚拟属性方法相当于vue中的计算属性,它是通过已定义的schema属性的计算\组合\拼接得到的新的值 var personSchema = new Schema({ name: { f ...