IDEA开发SpringBoot+hibernate新手快速入门

 一、新建项目

打开 idea 新建一个 Spring Initializr 项目。

二、测试项目

找到 “启动类” 如下图,右键,Run 就行了,由于 springboot 是内置 tomcat ,所以不需要自己配置 tomcat ,跑完之后在地址栏输入:http://localhost:8080/ 访问项目。会出现下面的错误页面,不用担心,这是正常的!!!因为我们都没有写实现类。

新建一个 HelloController,java 的类。

 
  1. @RestController

  2. public class HelloController {

  3. @RequestMapping(value = "/say",method = RequestMethod.GET)

  4. public String sayHi(){

  5. return "Hello My First SpringBoot!";

  6. }

  7. }

访问成功了~~~~

三、配置 pom.xml 文件

在 dependencies 标签里面添加下面的代码,让 maven 自动导入相关的 jar 包。

 
  1. <!-- 数据库需要用到的相关 jar 包 -->

  2. <dependency>

  3. <groupId>org.springframework.boot</groupId>

  4. <artifactId>spring-boot-starter-data-jpa</artifactId>

  5. </dependency>

  6.  
  7. <dependency>

  8. <groupId>mysql</groupId>

  9. <artifactId>mysql-connector-java</artifactId>

  10. </dependency>

四、配置 application.yml 文件

由于 application.yml 文件的编程格式比 application.properties 的较简洁。所有我们采用 yml 后缀的文件来配置。

直接在 resource 文件中,把对象的文件删除掉,然后新建 application.yml 文件就行,或者直接改后缀名也行。

然后把下面的配置信息,直接复制粘贴到 application.yml 文件里面,然后修改自己的数据库名字和账号、密码。

 
  1. server:

  2. #配置端口号

  3. port: 8081

  4. servlet:

  5. #项目访问前缀

  6. context-path: /myspringboot

  7.  
  8. spring:

  9. datasource:

  10. driver-class-name: com.mysql.jdbc.Driver

  11. url: jdbc:mysql://localhost:3306/test?useSSL=false

  12. username: root

  13. password: root

  14. jpa:

  15. hibernate:

  16. ddl-auto: update

  17. show-sql: true

五、连接数据库

springboot 可以直接通过代码来新建表格,下面我们就来新建第一张表。

新建一个 Person.java 类。

就是一个 javabean ,把要生成的表中该有的字段给定义出来。

@Id :这个注解,是把 id 定义为主键

@GeneratedVlaue :这个注解是让 id 自增

 
  1. @Entity

  2. public class Person {

  3. @Id

  4. @GeneratedValue

  5. private Integer id;

  6.  
  7. private String name;

  8.  
  9. private Integer age;

  10.  
  11. public Integer getId() {

  12. return id;

  13. }

  14.  
  15. public void setId(Integer id) {

  16. this.id = id;

  17. }

  18.  
  19. public String getName() {

  20. return name;

  21. }

  22.  
  23. public void setName(String name) {

  24. this.name = name;

  25. }

  26.  
  27. public Integer getAge() {

  28. return age;

  29. }

  30.  
  31. public void setAge(Integer age) {

  32. this.age = age;

  33. }

  34. }

运行启动类(不知道哪个是启动类,翻回去看看)。springboot 项目成功跑起来后,去数据库里面刷新下,就能发现 person 已经创建成功,并且是一张空表。数据库就连接上了,并且新建表成功。至于没有成功的,检查自己的数据库名字有没有写对什么之类的~~~

 

六、简单的增删查改例子

hibernate 是通过 JPA 来进行数据库的交互的。所以我们需要创建一个继承 JPA 的接口。

新建一个接口类:PersonRepository.java 

 
  1. public interface PersonRepository extends JpaRepository<Person,Integer>{

  2. //自定义接口

  3. //通过年龄来查询

  4. public List<Person> findByAge(Integer age);

  5. }

新建一个web层的类:PersonController.java

 
  1. @RestController

  2. public class PersonController {

  3. @Autowired

  4. private PersonRepository personRepository;

  5.  
  6. /**

  7. * 添加一个人的信息

  8. * @param name

  9. * @param age

  10. * @return

  11. */

  12. @PostMapping(value = "/preson")

  13. public Person personAdd(@PathVariable("id") Integer id,

  14. @RequestParam("name") String name,

  15. @RequestParam("age") Integer age){

  16. Person person = new Person();

  17. person.setId(id);

  18. person.setName(name);

  19. person.setAge(age);

  20. return personRepository.save(person);

  21. }

  22. /**

  23. * 查询所有人的数据

  24. * @return

  25. */

  26. @GetMapping(value = "/personlist")

  27. public List<Person> personList(){

  28. return personRepository.findAll();

  29. }

  30.  
  31. /**

  32. * 通过id查询某个人的信息

  33. * @param id

  34. * @return

  35. */

  36. @GetMapping(value = "/person/{id}")

  37. public Person personFindOne(@PathVariable("id") Integer id){

  38. Person op = personRepository.findById(id).get();

  39. return op;

  40. }

  41.  
  42. /**

  43. * 更新数据

  44. * @param id

  45. * @param name

  46. * @param age

  47. * @return

  48. */

  49. @PutMapping(value = "/person/{id}")

  50. public Person updateperson(@PathVariable("id") Integer id,

  51. @RequestParam("name") String name,

  52. @RequestParam("age") Integer age){

  53. Person person = new Person();

  54. person.setId(id);

  55. person.setAge(age);

  56. person.setName(name);

  57. return personRepository.save(person);

  58. }

  59.  
  60. /**

  61. * 通过 id 删除数据

  62. * @param id

  63. */

  64. @DeleteMapping(value = "/person/{id}")

  65. public void personDelete(@PathVariable("id") Integer id){

  66. personRepository.deleteById(id);

  67. }

  68.  
  69. /**

  70. * 自定义通过年龄查询用户信息接口

  71. * @param age

  72. * @return

  73. */

  74. @GetMapping(value = "/person/age/{age}")

  75. public List<Person> personListByAge( @PathVariable("age") Integer age){

  76. return personRepository.findByAge(age);

  77. }

  78. }

至于数据的测试,推荐使用 Postman 去测试。

 

看完有什么问题不懂的,可以在评论区提出来,大家讨论一下!!!~~~

 

附件:

@PathVariable  获取 url 中的数据

@RequestParam  获取请求参数的值

@GetMapping  组合注解

 

@RequestParam(value="",required=false,defaultValue="0")

这里值得注意的是,默认值为 0 时不能直接写 0 ,要加上引号。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值