-
Spring-data-jpa:使用hibernate做爲實現,基本上不須要寫sql,由於sql都是統一的,老是會產生多餘的查詢,性能上相對而言會低,但不絕對,影響性能的因是多種的,這裏說的性能是 從最終的查詢的sql來對比的,畢竟生成的sql沒有通過深思熟慮寫出來的性能好。java
建立springboot 工程 必須繼承spring-boot-stater-parentmysql
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.2.RELEASE</version>
</parent>
<!--添加spring-mvc 依賴--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
編寫controllerweb
@RestController public class javaController { @RequestMapping("/hello") public Map sayHello(){ Map map = new HashMap(); map.put("java","我愛java"); return map; } }
主啓動類(必定要保證做爲其餘java類的父類)spring
@SpringBootApplication public class HelloApplication { public static void main(String[] args){ SpringApplication.run(HelloApplication.class,args); } }
效果:sql
從數據庫中讀取數據顯示到頁面上數據庫
首先編寫數據庫Userspring-mvc
CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(50) DEFAULT NULL, `password` varchar(50) DEFAULT NULL, `name` varchar(50) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;
添加依賴springboot
<!--添加springdatajpa的依賴--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.1.1</version> </dependency>
編寫application.propertiesmybatis
#DB Configatio spring.datasource.driver=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://127.0.0.1:3306/springboot spring.datasource.username=root spring.datasource.password=root #JPA Configuration spring.jpa.database=MySQL spring.jpa.show-sql=true //在控制檯上能夠顯示 spring.jpa.generate-ddl=true //自動建立表,若是已經存在就自動刪掉
編寫實體類Usermvc
@Entity @Table(name = "user") public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY)//主鍵 private int id; private String username; private String password; private String name; ... }
建立接口UserDao繼承 JpaRepository
public interface UserDao extends JpaRepository<User,Integer>{ }
編寫UserController
@RestController public class UserController { @Autowired private UserDao userDao; @RequestMapping("/user/list") public List<User> showUserList(){ return userDao.findAll(); //在UserDao所繼承的JpaRepository中包含 findAll()方法 } }