整合持久层框架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()方法 } }

相关文章
相关标签/搜索