SpringBoot+MySQL(官方案例)

  1. 在线文档
  2. 项目结构
    1.源码克隆:git clone https://github.com/spring-guides/gs-accessing-data-mysql.git
    2.包含两个项目initial和complete,initial可以根据文档练习完善,complete是完整项目
    3.功能描述:构建应用程序,并将其连接到MySQL数据库,使用 Spring Data JPA 来访问数据库
    4.MySQL安装:https://blog.csdn.net/tongxin_tongmeng/article/details/127485630
    5.MySQL数据库和用户创建及授权:
    mysql> create database db_example; -- Creates the new database
    mysql> create user 'springuser'@'%' identified by 'ThePassword'; -- Creates the user
    mysql> grant all on db_example.* to 'springuser'@'%'; -- Gives all privileges to the new user on the newly created database
    5.MySQL数据库连接配置(application.properties):
    spring.jpa.hibernate.ddl-auto=update
    spring.datasource.url=jdbc:mysql://${MYSQL_HOST:localhost}:3306/db_example
    spring.datasource.username=springuser
    spring.datasource.password=ThePassword
    spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

  3. 源码分析

    1.POM依赖
    <dependencies>
    	<!--https://blog.csdn.net/tongxin_tongmeng/article/details/128586690-->
    	<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>
    	<!--https://blog.csdn.net/tongxin_tongmeng/article/details/128587053-->
    	<dependency>
    		<groupId>mysql</groupId>
    		<artifactId>mysql-connector-java</artifactId>
    		<scope>runtime</scope>
    	</dependency>
    	<dependency>
    		<groupId>org.springframework.boot</groupId>
    		<artifactId>spring-boot-starter-test</artifactId>
    		<scope>test</scope>
    	</dependency>
    </dependencies>
    2.POJO类
    @Entity // This tells Hibernate to make a table out of this class
    public class User {
    	@Id
    	@GeneratedValue(strategy=GenerationType.AUTO)
    	private Integer id;
    
    	private String name;
    
    	private String email;
    
    	public Integer getId() {
    		return id;
    	}
    
    	public void setId(Integer id) {
    		this.id = id;
    	}
    
    	public String getName() {
    		return name;
    	}
    
    	public void setName(String name) {
    		this.name = name;
    	}
    
    	public String getEmail() {
    		return email;
    	}
    
    	public void setEmail(String email) {
    		this.email = email;
    	}
    }
    3.接口类
    public interface UserRepository extends CrudRepository<User, Integer> {
    
    }
    4.控制器
    @Controller	// This means that this class is a Controller
    @RequestMapping(path="/demo") // This means URL's start with /demo (after Application path)
    public class MainController {
    	@Autowired // This means to get the bean called userRepository
    			   // Which is auto-generated by Spring, we will use it to handle the data
    	private UserRepository userRepository;
    
    	@PostMapping(path="/add") // Map ONLY POST Requests
    	public @ResponseBody String addNewUser (@RequestParam String name
    			, @RequestParam String email) {
    		// @ResponseBody means the returned String is the response, not a view name
    		// @RequestParam means it is a parameter from the GET or POST request
    
    		User n = new User();
    		n.setName(name);
    		n.setEmail(email);
    		userRepository.save(n);
    		return "Saved";
    	}
    
    	@GetMapping(path="/all")
    	public @ResponseBody Iterable<User> getAllUsers() {
    		// This returns a JSON or XML with the users
    		return userRepository.findAll();
    	}
    }
  4. 项目演示



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

童心同萌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值