Spring Boot 微框架学习(利用Spring Boot编写一个访问数据库的helloword)

本文介绍了如何使用Spring Boot创建一个不访问数据库的HelloWorld应用,以及如何结合Spring Boot封装的Hibernate实现数据库的CURD操作。通过编写Maven项目,设置配置文件,创建实体类和服务,轻松完成数据库交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Spring Boot 项目旨在简化创建产品级的 Spring 应用和服务。你可通过它来选择不同的 Spring 平台。可创建独立的 Java 应用和 Web 应用,对于创建的Web应用甚至不需要启动Tomcat等容器,便可以通过浏览器来访问。通过Spring Boot还对Hibernate进行了封装,让开发者对于每一个表可以直接完成CURD操作而不需要额外的代码,这些特性让Spring Boot受到后台开发人员的喜欢,通过Spring Boot非常容易编写接口文档。

下面我们编写一个Spring Boot的HelloWorld(不访问数据库,仅仅对浏览器的服务输出)

1.创建一个Maven项目,导入Spring boot的依赖

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.3.5.RELEASE</version>
        <relativePath/>
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
          <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
         <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.21</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

2.创建一个核心类,用来启动整个项目


import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

在所有的步骤完成后运行这个main方法即可。

3.创建访问的Controller

@RestController
public class HelloController {

    @RequestMapping("/")
    public String home(){
        return "Hello World";
    }
}

Controller类必须使用@RestController注解而不能使用@Controller

现在我们启动步骤2中的main方法,启动成功后Spring Boot会自动在8080端口上部署我们的项目(并没有启动Tomcat,与Tomcat毫无关系)。根据我们在Controller中定义的URL来访问(即访问127.0.0.1:8080)此时会看到Hello World被打印出来了,即成功访问到了Controller。

这里写图片描述

通过Spring Boot封装的Hibernate来访问数据库实现CURD

1.创建数据库配置文件
在 src.main.resources下创建application.properties。在该配置文件中写入数据库的相关信息(创建DataSource):

spring.datasource.url=jdbc:mysql://localhost:3306/springTemp?characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=toor
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

2.创建一个实体类(对应数据库)

@Entity
@Table(name="account")
public class Account {
    @Id
    @GeneratedValue(generator = "IDGenerator")
    @GenericGenerator(name = "IDGenerator", strategy = "increment")
    private  int id;
    private String name;
    private String now_money;
  public Account(){

  }
  public Account(String name,String now_money){
      this.name =name;
      this.now_money = now_money;
  }
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getNow_money() {
        return now_money;
    }

    public void setNow_money(String now_money) {
        this.now_money = now_money;
    }

}

3.创建该实体类对应的Service

前面我们说过Spring Boot封装了Hibernate并提供了一些简单的实现,那么我们创建Service类将变得及其简单。

@Service
public interface AccountCurd extends JpaRepository<Account,Integer>{
 //泛型分别是对应的实体类,该表对应的主键的类型
}

即仅需创建一个接口来继承Spring Boot提供的接口即可,现在把该即可注入到Controller类中即可完成CURD操作:

4.完成CURD的Controller

@RestController
public class ListController {

    @Autowired
     AccountCurd accountCurd;

    @RequestMapping("/select")
    public List<Account> selectAll() {
        return accountCurd.findAll();
    }

    @RequestMapping("/add")
    public String addAccount(String name,String now_money){
          Account account = new Account(name,now_money);
         accountCurd.save(account);
         return "success";
    }

    @RequestMapping("/delete")
    public String deleteAccount(@RequestParam("id") int id){
         accountCurd.delete(id);
         return "success";
    }

    @RequestMapping("/")
    public String home(){
        return "Hello World";
    }
}

与最开始访问Hello World一样,通过浏览器访问127.0.0.1:8080/select即会看到数据库中account表中的信息。访问127.0.0.1:8080/delete?id=1即会删除表中id为1的行。访问127.0.0.1:8080/add?(插入信息)即会在数据库中插入相应的数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值