今天公司要做一个小项目,好久没碰项目了(刷题好累。。。),听说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就到此结束了。