整合持久層框架springDatajpa+訪問數據庫

  • 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()方法 } }

相關文章
相關標籤/搜索