【Spring boot】第一个项目 Springboot + mysql + hibernate
今天公司要做一个小项目,好久没碰项目了(刷题好累。。。),听说spring boot很火,决定试一试。暂时就从mysql里面读数据好了,使用hiberante。
1.获取jar包。
从http://start.spring.io/获取,当然对于使用eclipse(离不开。。。)的同学,有STS插件支持,关于插件用法自行百度,很简单。关键的是选择要支持的特性。这里是读数据,我记得只选择了web,jpa和mysql三个标签。
2.导入工程。
新建实体类:
- package com.example.demo;
- import javax.persistence.Entity;
- import javax.persistence.GeneratedValue;
- import javax.persistence.Id;
- @Entity
- public class Person {
- @Id
- @GeneratedValue
- private Long id;
- private String name;
- private String address;
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public String getAddress() {
- return address;
- }
- public void setAddress(String address) {
- this.address = address;
- }
- }
要注意@Entity来自javax包。
Dao类:
- package com.example.demo;
- import java.util.List;
- import org.springframework.data.jpa.repository.JpaRepository;
- public interface Dao extends JpaRepository<Person, Long>{
- List<Person> findByName(String name);
- }
只需要继承一个jpa的类即可。而且不需要实现,提供默认的查找方法。。。很方便。
controller
- package com.example.demo;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.boot.SpringApplication;
- import org.springframework.boot.autoconfigure.SpringBootApplication;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
- @RestController
- @SpringBootApplication
- public class Demo2Application {
- @Autowired
- Dao dao;
- @RequestMapping("/get")
- public Person getP(String name){
- Person person = dao.findByName(name).get(0);
- return person;
- }
- @RequestMapping("/")
- public String index(){
- return "Hello Spring Boot";
- }
- public static void main(String[] args) {
- SpringApplication.run(Demo2Application.class, args);
- }
- }
只添加一个查数据的url。
最后是配置文件:
- spring.datasource.driver-class-name=com.mysql.jdbc.Driver
- spring.datasource.url=jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8
- spring.datasource.username=root
- spring.datasource.password=
- spring.jpa.hibernate.ddl-auto=update;
- spring.jpa.show-sql=true
- spring.jackson.serialization.indent-output=true
访问之前,现在数据库中建表,插数据。
然后启动,浏览器访问。
浏览器:
说明访问成功。
整体感觉就是,这个框架帮程序员实现了太多功能,原本光一个hibernate就需要N多配置,但是在springboot中完全没有感知hibernate的存在。有时间需要研究下源码,看看他是怎么做到的。
这个简单的demo就到此结束了。
【Spring boot】第一个项目 Springboot + mysql + hibernate的更多相关文章
- 从零一起学Spring Boot之LayIM项目长成记(一) 初见 Spring Boot
项目背景 之前写过LayIM的.NET版后端实现,后来又写过一版Java的.当时用的是servlet,websocket和jdbc.虽然时间过去很久了,但是仍有些同学在关注.偶然间我听说了Spring ...
- Spring boot 多模块项目 + Swagger 让你的API可视化
Spring boot 多模块项目 + Swagger 让你的API可视化 前言 手写 Api 文档的几个痛点: 文档需要更新的时候,需要再次发送一份给前端,也就是文档更新交流不及时. 接口返回结果不 ...
- Maven 搭建spring boot多模块项目(附源码),亲测可以,感谢原创
原创地址:https://segmentfault.com/a/1190000005020589 我的DEMO码云地址,持续添加新功能: https://gitee.com/itbase/Spring ...
- 从零一起学Spring Boot之LayIM项目长成记(二) LayIM初体验
前言 接上篇,已经完成了一个SpringBoot项目的基本搭建.那么现在就要考虑要做什么,怎么做的问题.所以本篇内容不多,带大家一起来简单了解一下要做的东西,之前有很多人不知道从哪里下手,那么今天我带 ...
- Maven 搭建spring boot多模块项目
Maven 搭建spring boot多模块项目 备注:所有项目都在idea中创建 1.idea创建maven项目 1-1: 删除src,target目录,只保留pom.xml 1-2: 根目录pom ...
- 从零一起学Spring Boot之LayIM项目长成记(四) Spring Boot JPA 深入了解
前言 本篇内容主要是一些关于JPA的常用的一些用法等.内容也是很多是看其他博客学来的,顺道在本系列博客里抽出一篇作为总结.下面让我们来看看吧. 不过我更推荐大家读本篇:https://lufficc. ...
- Spring Boot 2.0系列文章(五):Spring Boot 2.0 项目源码结构预览
关注我 转载请务必注明原创地址为:http://www.54tianzhisheng.cn/2018/04/15/springboot2_code/ 项目结构 结构分析: Spring-boot-pr ...
- 使用Spring Boot开发Web项目(二)之添加HTTPS支持
上篇博客使用Spring Boot开发Web项目我们简单介绍了使用如何使用Spring Boot创建一个使用了Thymeleaf模板引擎的Web项目,当然这还远远不够.今天我们再来看看如何给我们的We ...
- Github 上 Star 最多的个人 Spring Boot 开源学习项目
2016年,在一次技术调研的过程中认识到了 Spring Boot ,试用之后便一发不可收拾的爱上它.为了防止学习之后忘记,就在网上连载了 Spring Boot 系列文章,没想到这一开始便与 Spr ...
随机推荐
- JQuery中事件one、bind、unbind、live、delegate、on、off、trigger、triggerHandler的各种使用区别
JQuery事件one,支持参数 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> & ...
- SDL的基础知识以及利用SDL播放视频
原文地址:http://blog.csdn.net/i_scream_/article/details/52714378 此博文相关知识点从雷神的博客以及视频学习,截图也是用了他的课件, 雷神博客地址 ...
- Concurrency Managed Workqueue(三)创建workqueue代码分析
一.前言 本文主要以__alloc_workqueue_key函数为主线,描述CMWQ中的创建一个workqueue实例的代码过程. 二.WQ_POWER_EFFICIENT的处理 __alloc_w ...
- DevExpress控件之"XtraForm——窗体"
1.AutoScaleMode:确定当屏幕分辨率或字体更改时窗体或控件将如何缩放. Dpi:根据显示分辨率控制缩放.常用分辨率为96和120Dpi: Font:根据类使用的字体(通常为系统字体)的维度 ...
- python标准库介绍——14 gc 模块详解
==gc 模块== (可选, 2.0 及以后版本) ``gc`` 模块提供了到内建循环垃圾收集器的接口. Python 使用引用记数来跟踪什么时候销毁一个对象; 一个对象的最后一个引用一旦消失, 这个 ...
- django 创建数据库表 命令
一旦你觉得你的模型可能有问题,运行 python manage.py validate . 它可以帮助你捕获一些常见的模型定义错误. 模型确认没问题了,运行下面的命令来生成 CREATE TABLE ...
- cocos2dx 3.x ccDrawLine一个坑
ccDrawLine,如果传进去的坐标是INFINITY,画不出来.
- mysql如何查找某字段所在表
如果是5.0以上的,以root用户连接,可以看到一个叫information_schema的表, 然后只要:use information_schema; select `TABLE_NAME`fro ...
- redis 只允许指定的额内网IP访问,其余的外网IP不允许访问
为了redis的安全,现在设定如下规则.只允许指定的服务器通过内网的方式访问.其余一律不准访问 因为redis登录额时候是不需要密码的,很不安全. 所以这里添加如下iptables规则 iptable ...
- NY891 区间选点 找点
找点 时间限制:2000 ms | 内存限制:65535 KB 难度:2 描述 上数学课时,老师给了LYH一些闭区间,让他取尽量少的点,使得每个闭区间内至少有一个点.但是这几天LYH太忙了,你们帮 ...