暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

SpringBoot集成Mysql

Java有货 2018-03-05
675
点击上方"Java有货"关注我们
添加相关依赖

本次我们使用Spring Data Jpa 来操作数据库,这样省去了配置文件!

<!-- MySQL的java驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>  

<!-- druid数据源 -->
<dependency>
groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.26</version>
</dependency>

<!-- JPA -->  
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

复制
配置文件添加
spring:
 profiles:
   active: dev
 datasource:
   driver-class-name: com.mysql.jdbc.Driver
   url: jdbc:mysql://localhost:3306/yang
   username: root
   password: root
#jpa连接数据库
 jpa:
   hibernate:
     ddl-auto: create
     #create:自动创建表,如果有则删除--hibernate
     #update:创建表,但不删除
     #create-drop:应用停下来的时候把表删掉
     #none:默认的什么都不做
     #validate:验证类的结构和变得结构是否一致,不一致会报错
   show-sql: true #创建sql

复制
Controller的实现
package cn.javaYH.girl.controller;

import java.util.List;

import javax.validation.Valid;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import cn.javaYH.girl.aspect.HttpAspect;
import cn.javaYH.girl.jpa.GirlRrepository;
import cn.javaYH.girl.pojo.Girl;
import cn.javaYH.girl.service.GirlService;

@RestController
@Configuration
public class GirlController {
 @Autowired
 private GirlRrepository girlRrepository;
 
 @Autowired
 private GirlService girlService;
 
 Girl girl = new Girl();
 
 /**利用spring的slf4j打印日志*/
 private  final static Logger logger =LoggerFactory.getLogger(HttpAspect.class);
 
 /
 /**
  * 根据id更新数据信息
  * @param id
  * @param cupSize
  * @param age
  * @return
  */

 @PutMapping(value="/girl/id")
 public Girl girlUpata(@PathVariable("id") Integer id,
           @RequestParam("cupSize") String cupSize,
           @RequestParam("age") Integer age)
{
   girl.setId(id);
   girl.setCupSize(cupSize);
   girl.setAge(age);
   return girlRrepository.save(girl);
 }
 /**
  * 根据id删除数据
  * @param id
  */

 @DeleteMapping(value="/girl/id")
 public void girlDelete(@PathVariable("id") Integer id){
   girlRrepository.delete(id);
 }
 
 /**
  * 添加一条数据,并进行表单验证(年龄小于18岁的禁止入内)
  * @param cupSize
  * @param age
  * @return
  */

 @PostMapping(value="/girl")
 public Girl girlAdd(@Valid Girl girl,BindingResult bindingResult){//把蛋哥属性环城对象,省去写多个参数
   if(bindingResult.hasErrors()){
     //打印错误信息
     System.out.println(bindingResult.getFieldError().getDefaultMessage());
     return null;
   }
   girl.setCupSize(girl.getCupSize());
   girl.setAge(girl.getAge());
   return girlRrepository.save(girl);
 }
 
 /**
  * 查询列表所有
  * @return
  */

 @GetMapping(value="/girlList")
 public List<Girl> girlList(){
   //logger.info("girlList(++++)");
   return girlRrepository.findAll();
 }
}

复制
继承Jpa

特别强调,Hibernate完美的支持SpringDataJpa

package cn.javaYH.girl.jpa;

import java.util.List;

import org.springframework.data.jpa.repository.JpaRepository;

import cn.javaYH.girl.pojo.Girl;

public interface GirlRrepository extends JpaRepository<Girl,Integer> {
       这里无需写任何代码,hibernate实现5大接口
}

复制
实体类
package cn.javaYH.girl.pojo;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.validation.constraints.Min;
//@Entity 表示对应数据库的一个表
@Entity
public class Girl {
 @Id
 @GeneratedValue
 private Integer id;
 private String cupSize;
 @Min(value = 18,message = "未成年人禁止入内")
 private Integer age;
 
 public Girl() {
   super();
 }
 public Integer getId() {
   return id;
 }
 public void setId(Integer id) {
   this.id = id;
 }
 public String getCupSize() {
   return cupSize;
 }
 public void setCupSize(String cupSize) {
   this.cupSize = cupSize;
 }
 public Integer getAge() {
   return age;
 }
 public void setAge(Integer age) {
   this.age = age;
 }
 
}

复制
效果展示
  1. 数据库插入数据

  2. 页面查找效果

文章转载自Java有货,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论