在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 classUser {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)private longid;
@Column(name="name")//对应的列名
privateString name;
@Column(name="password")//对应的列名
privateString passwd;public longgetId() {returnid;
}public void setId(longid) {this.id =id;
}publicString getName() {returnname;
}public voidsetName(String name) {this.name =name;
}publicString getPasswd() {returnpasswd;
}public voidsetPasswd(String passwd) {this.passwd =passwd;
}
}
在repositories包中添加User仓储接口
public interface UserRepository extends JpaRepository{
ListfindUserByName(String name);
User findUserByNameAndPasswd(String name, String password);
}
在controllers包中添加UserController
@RestControllerpublic classUserController {
@Autowired
UserRepository userRepository;
@RequestMapping("/users")publicString findUsers() {
List 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节。