索鸟网

  1. 首页
  2. Spring boot 与 MySQL 的使用

Spring boot 与 MySQL 的使用


建一个user表

SET FOREIGN_KEY_CHECKS=0;

DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `id` int(10) unsigned zerofill NOT NULL AUTO_INCREMENT COMMENT "主键",
  `username` varchar(10) DEFAULT NULL COMMENT "用户名",
  `password` varchar(10) DEFAULT NULL COMMENT "密码",
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

INSERT INTO `user` VALUES ("0000000001", "张三", "123");
INSERT INTO `user` VALUES ("0000000002", "李四", "123456");
INSERT INTO `user` VALUES ("0000000003", " 王五", "1234567");

创建一个maven项目:

项目结构

pom.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>spring-boot-demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>spring-boot-demo1</name>
    <description>Demo project for Spring Boot</description>

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

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <!-- JPA Data (包含 Repositories, Entities, Hibernate) -->

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

        <!-- mysql连接驱动 -->

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>


</project>

src/main/resources/ 下创建 application.properties文件(编码改为utf8)

spring.jpa.hibernate.ddl-auto=update
#none mysql默认,不改变表结构,其他数据库多数为create-drop
#update 加载hibernate时,自动更新数据库结构
#create 每次加载hibernate,重新创建数据库表结构,
#create-drop 加载hibernate时创建,退出时删除表结构
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=root

创建实体类 User.java

package com.demo.bean;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

@Entity
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Integer id;

    private String username;

    private String password;

    public Integer getId() {
        return id;
    }

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

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

}

创建 repository(类似于dao的东西吧~)

package com.demo.repository;

import org.springframework.data.repository.CrudRepository;

import com.demo.bean.User;

//由Spring自动实现,包含CRUD(Create, Read, Update, Delete)
public interface UserRepository extends CrudRepository<User, Long>{

}

创建一个Controller,UserController.java

package com.demo.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import com.demo.bean.User;
import com.demo.repository.UserRepository;

@Controller
@RequestMapping(path = "/user")
public class UserController {
    @Autowired // 自动注入
    private UserRepository userRepository;

    @GetMapping(path = "/add") // 只响应GET请求
    public @ResponseBody String addUser(@RequestParam String username, @RequestParam String password) {
        // @ResponBody表示返回String类型数据
        // @RequestParam表示GET或POST请求的参数
        User user = new User();
        user.setUsername(username);
        user.setPassword(password);
        User savedUser = userRepository.save(user);
        if (savedUser == null) {
            return "error";
        } else {
            return "add success!";
        }
    }

    @GetMapping(path = "/all")
    public @ResponseBody Iterable<User> getAllUsers() {
        // 返回Json格式或xml格式
        return userRepository.findAll();
    }
}

创建Application类

package com.demo;

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

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

运行程序 Run As -> Maven build... -> spring-boot:run Run

测试,浏览器输入 http://localhost:8080/user/add?username=admin&password=admin

返回 add success,回来看控制台的sql

成功

浏览器输入 http://localhost:8080/user/getAllUser,获取全部用户,可在控制台查看sql语句

源码

来源地址:http://blog.csdn.net/z924139546/article/details/78232742 版权归作者所有!

相关教程

  • Spring Boot 事务的使用

    Spring Boot 使用事务非常简单,首先使用注解 @EnableTransactionManagement 开启事务支持后,然后在访问数据库的Service方法上添加注解 @Transactional 便可。 关于事务管理器,不管是JPA还是JDBC等都实现自接口 PlatformTransactionManager 如果你添加的是 spring-boot-starter-jdbc 依
  • Spring Boot系列(三):Spring Boot中Redis的使用

    spring boot对常用的数据库支持外,对nosql 数据库也进行了封装自动化。 redis介绍 Redis是目前业界使用最广泛的内存数据存储。相比memcached,Redis支持更丰富的数据结构,例如hashes, lists, sets等,同时支持数据持久化。除此之外,Redis还提供一些类数据库的特性,比如事务,HA,主从库。可以说Redis兼具了缓存系统和数据库的一些
  • Spring Boot [基于Spring Boot 与 Vue的后台脚手架] SanJi Boot Security

    导读: 在上篇文章中谈到了最近基于Vue+zhengAdmin 搭建了一个简易的后台页面框架,在这篇文章中将其与Spring Boot 结合,算是之前 在Spring Boot 学习资料收集 进阶篇 中的最后一个项目案例,希望能对大家有些帮助。 SanJi Boot Security: 整合 Security 提供一下功能: [x] 前后端分离 [x]
  • spring boot优雅的使用mybatis

    这两天启动了一个新项目因为项目组成员一直都使用的是mybatis,虽然个人比较喜欢jpa这种极简的模式,但是为了项目保持统一性技术选型还是定了 mybatis。到网上找了一下关于spring boot和mybatis组合的相关资料,各种各样的形式都有,看的人心累,结合了mybatis的官方demo和文档终于找到了最简的两种模式,花了一天时间总结后分享出来。 orm框架的本质是简化编程中操
  • Spring、Spring Boot和TestNG测试指南 - 使用Spring Boot Testing工具

    Github地址 前面一个部分讲解了如何使用Spring Testing工具来测试Spring项目,现在我们讲解如何使用Spring Boot Testing工具来测试Spring Boot项目。 在Spring Boot项目里既可以使用Spring Boot Testing工具,也可以使用Spring Testing工具。在Spring项目里,一般使用
  • spring boot中使用redis

    springboot是下一代框架,大大简化了对spring的使用,在springboot中使用redis同样非常简单。 首先新建一个boot项目,然后再boot项目中加入redis的依赖。 <dependency> <groupId>org.springframework.boot</groupId> &l
  • Spring Boot

    简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。Boot在开发中实现免XML配置效果,使得程序员精力集中在编码实现上,可以快速构建Spring应用。 Spring Boot不是提供一种新的解决方案,是在Spring框架基础之上实现快速开发应用。 Spring Boot主要内容(一律采用Java注解配置): -
  • Spring Boot系列(五):spring data jpa的使用

    在上篇文章springboot(二):web综合开发中简单介绍了一下spring data jpa的基础性使用,这篇文章将更加全面的介绍spring data jpa 常见用法以及注意事项 使用spring data jpa 开发时,发现国内对spring boot jpa全面介绍的文章比较少案例也比较零碎,因此写文章总结一下。本人也正在翻译,有兴趣的同学欢迎联系我,一起加入翻译中!