spring boot 链接额

来源:互联网 发布:h3c路由器查看端口8080 编辑:程序博客网 时间:2024/05/17 18:42
文本将对在Spring Boot构建的Web应用中,基于MYSQL数据库的几种数据库连接方式进行介绍。 

包括JDBC、JPA、多数据源和事务。

开发工具:sts

1、属性配置文件(application.properties)

spring:
  datasource:
    driver-class-name:  com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/zzch
    username: root
    password: password
  jpa:
    hibernate: 
      ddl-auto: update
    show-sql: true

在这里值得一提的是,无论是Spring Boot默认的DataSource配置还是你自己的DataSource bean,都会引用到外部属性文件中的属性配置。所以假设你自定义的DataSource bean,你可以在定义bean时设置属性,也可以在属性文件中,以“spring.datasource.*”的方式使属性配置外部化。


2、pom.xml 配置maven依赖


<!-- MYSQL -->

<dependency>

<groupId>mysql</groupId>

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

</dependency>

<!-- Spring Boot JDBC -->

<dependency>

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

<artifactId>spring-boot-starter-jdbc</artifactId>

</dependency>


3、Java代码范例


  1. package com.b505.bean;  
  2.   
  3. import javax.persistence.Column;  
  4.   
  5.   
  6. import javax.persistence.Entity;  
  7. import javax.persistence.GeneratedValue;  
  8. import javax.persistence.Id;  
  9. import javax.persistence.Table;  
  10.   

  11. @Entity  
  12. @Table(name="user")  
  13. public class User {  
  14.     @Id//告诉系统id为主键  
  15.     @GeneratedValue//对主键提供生成策略  
  16.     private Integer id;  
  17.     @Column(name = "name")  
  18.     private String name;  
  19.     @Column(name = "age")  
  20.     private int age;  
  21.     @Column(name = "hobby")  
  22.     private String hobby;  
  23.       
  24.     public Integer getId() {  
  25.         return id;  
  26.     }  
  27.     public void setId(Integer id) {  
  28.         this.id = id;  
  29.     }  
  30.     public String getName() {  
  31.         return name;  
  32.     }  
  33.     public void setName(String name) {  
  34.         this.name = name;  
  35.     }  
  36.     public int getAge() {  
  37.         return age;  
  38.     }  
  39.     public void setAge(int age) {  
  40.         this.age = age;  
  41.     }  
  42.     public String getHobby() {  
  43.         return hobby;  
  44.     }  
  45.     public void setHobby(String hobby) {  
  46.         this.hobby = hobby;  
  47.     }  
  48.       

  49.   
  50. }  

com.b505.dao.UserDao.java


  1. package com.b505.dao;  
  2.   
  3. import org.springframework.data.jpa.repository.JpaRepository;  
  4.   
  5. import com.b505.bean.User;  
  6.   
  7. public interface UserDao extends JpaRepository<User, Integer> {  
  8.   
  9.     /** 
  10.      * JpaRepository接口的 方法 
  11.      * delete删除或批量删除 
  12.      * findAll查询所用 
  13.      * findOne查询单个 
  14.      * save保存单个或保存批量 
  15.      * saveAndFlush保存并刷新到数据库 
  16.      * */  
  17. }  

com.b505.web.UserController.java
 
  1. package com.b505.web;  
  2.   
  3. import java.util.List;  
  4.   
  5. import org.springframework.beans.factory.annotation.Autowired;  
  6. import org.springframework.web.bind.annotation.RequestMapping;  
  7. import org.springframework.web.bind.annotation.RequestMethod;  
  8. import org.springframework.web.bind.annotation.RequestParam;  
  9. import org.springframework.web.bind.annotation.RestController;  
  10. import com.b505.bean.User;  
  11. import com.b505.dao.UserDao;  
  12. import com.fasterxml.jackson.core.sym.Name;  
  13.   

  14. @RestController  
  15. public class UserController {  
  16.       
  17.     @Autowired  
  18.     private UserDao userDao;  
  19.       
  20.     //删除  
  21.     @RequestMapping(value ="/delete" ,method = RequestMethod.POST)  
  22.     public  void weekdaylDelete(@RequestParam("id") Integer id){  
  23.         System.out.println("删除执行");  
  24.         userDao.delete(id);  
  25.     }  
  26.       //添加  
  27.     @RequestMapping(value ="/add" ,method = RequestMethod.POST)  
  28.     public void weekdayAdd(@RequestParam("name") String name,  
  29.             @RequestParam("age") Integer age,@RequestParam("hobby") String hobby  
  30.             ){  
  31.         User user = new User();  
  32.         user.setName(name);  
  33.         user.setAge(age);  
  34.         user.setHobby(hobby);  
  35.         userDao.save(user);  
  36.     }  
  37.     //查询所有  
  38.     @RequestMapping(value ="/getall" ,method = RequestMethod.GET)  
  39.     public List<User> girlList(){  
  40.         System.out.println("查询所有执行");  
  41.         return  userDao.findAll();  
  42.     }  
  43.    //更改  
  44.     @RequestMapping(value="/update",method = RequestMethod.POST)  
  45.     public void  weekdayUpdate(@RequestParam("id") Integer id,@RequestParam("name") String name,  
  46.             @RequestParam("age") Integer age,@RequestParam("hobby") String hobby)  
  47.     {  
  48.         User user =new User();  
  49.         System.out.println("2");  
  50.         user=userDao.findOne(id);  
  51.         if(user==null)  
  52.             System.out.println("1");  
  53.         if(name!=null)  
  54.             user.setName(name);  
  55.         //System.out.println(user.getName());  
  56.         if(age!= 0)  
  57.             user.setAge(age);  
  58.         if(hobby!=null)  
  59.             user.setHobby(hobby);  
  60.         userDao.save(user);  
  61.               
  62.         System.out.println("1");  
  63.           
  64.     }  
  65.   
  66. }