Spring-data-jpa:使用hibernate作为实现,基本上不需要写sql,因为sql都是统一的,总是会产生多余的查询,性能上相对而言会低,但不绝对,影响性能的因是多种的,这里说的性能是 从最终的查询的sql来对比的,毕竟生成的sql没有经过深思熟虑写出来的性能好。
创建springboot 工程 必须继承spring-boot-stater-parent
org.springframework.boot
spring-boot-starter-parent
2.0.2.RELEASE
org.springframework.boot
spring-boot-starter-web
编写controller
@RestControllerpublic classjavaController {
@RequestMapping("/hello")publicMap sayHello(){
Map map= newHashMap();
map.put("java","我爱java");returnmap;
}
}
主启动类(一定要保证作为其他java类的父类)
@SpringBootApplicationpublic classHelloApplication {public static voidmain(String[] args){
SpringApplication.run(HelloApplication.class,args);
}
}
效果:
从数据库中读取数据显示到页面上
首先编写数据库User
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;
添加依赖
org.springframework.boot
spring-boot-starter-data-jpa
mysql
mysql-connector-java
org.mybatis.spring.boot
mybatis-spring-boot-starter
1.1.1
编写application.properties
#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 //自动创建表,如果已经存在就自动删掉
编写实体类User
@Entity
@Table(name= "user")public classUser {
@Id
@GeneratedValue(strategy= GenerationType.IDENTITY)//主键
private intid;privateString username;privateString password;privateString name;
...
}
创建接口UserDao继承 JpaRepository
public interface UserDao extends JpaRepository{
}
编写UserController
@RestControllerpublic classUserController {
@AutowiredprivateUserDao userDao;
@RequestMapping("/user/list")public ListshowUserList(){returnuserDao.findAll(); //在UserDao所继承的JpaRepository中包含 findAll()方法
}
}