在spring boot网站上生成一个项目,如图:
我使用的是Maven项目,java使用是jdk8(spring boot 2.x必须要jdk8及以上),dependencies分别输入选择 web mysql jpa
使用eclipse添加项目
eclipse的maven插件会自动下载依赖包。
项目加载完成后,新建几个包:
首先设置resources下的application.properties:
spring.datasource.url:jdbc:mysql://127.0.0.1:3306/db_springboot?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=sa
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.open-in-view=false
在entities包中添加实体类:
@Entity @Table(name="tb_user")//表名 public class User { @Id @GeneratedValue(strategy=GenerationType.IDENTITY) private long id; @Column(name="name")//对应的列名 private String name; @Column(name="password")//对应的列名 private String passwd; public long getId() { return id; } public void setId(long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPasswd() { return passwd; } public void setPasswd(String passwd) { this.passwd = passwd; } }
在repositories包中添加User仓储接口
public interface UserRepository extends JpaRepository<User, Long> { List<User> findUserByName(String name); User findUserByNameAndPasswd(String name, String password); }
在controllers包中添加UserController
@RestController public class UserController { @Autowired UserRepository userRepository; @RequestMapping("/users") public String findUsers() { List<User> users=userRepository.findAll(); System.out.println("findAll..."); for (User user : users) { System.out.println("name="+user.getName()+" password="+user.getPasswd()); } System.out.println("findUserByName..."); users=userRepository.findUserByName("aaaa"); for (User user : users) { System.out.println("name="+user.getName()+" password="+user.getPasswd()); } System.out.println("findUserByNameAndPasswd..."); User user=userRepository.findUserByNameAndPasswd("aaaa","000000"); System.out.println("name="+user.getName()+" password="+user.getPasswd()); return "hello all users"; } }
在SpringBoot2XDemoJpaApplication中运行,结果如下:
findAll...
name=aaaa password=123456
name=bbbb password=654321
name=aaaa password=000000
findUserByName...
name=aaaa password=123456
name=aaaa password=000000
findUserByNameAndPasswd...
name=aaaa password=000000
额外说明:Repository方法是由一个动词、一个可选的主题(Subject)、关键词By以及一个断言所组成。具体可以参考Spring+in+action (Spring实战 第4版)一书的第11章第3节。