SpringBoot框架之SpringBoot+MySQL使用案例入门

Tip:具体代码简单不复杂,最后附上所有数据操作截图!

一、添加依赖:

在pom.xml文件里添加所需要的JDBC组件和MySQL连接器,以及方便使用JavaBean的get,set方法的lombok依赖

(注意:SpringBoot的mysql-connector-java如果不指定版本。默认是MySQL最高版本8.x,故为了防止不必要的bug出现,一定要看你当前安装的MySQL版本,一定要匹配上)



    mysql
    mysql-connector-java
    5.1.38


    org.springframework.boot
    spring-boot-starter-jdbc



    org.projectlombok
    lombok

SpringBoot框架之SpringBoot+MySQL使用案例入门_第1张图片

二、配置端口:
在application.properties添加MySQL的端口,用户名密码跟url:

#集成mysql数据库的配置
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/bigdata?useSSL=false&useUnicode=true&characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=root

三、编写代码

Tip:首先看下包的结构:

SpringBoot框架之SpringBoot+MySQL使用案例入门_第2张图片

MySQL表为:test_user

SpringBoot框架之SpringBoot+MySQL使用案例入门_第3张图片

1.编写JavaBean封装MySQL的字段(对应你的MySQL表,我这里的MySQL为test_user)

package springboot.demo.MysqlTest.bean;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @Author 海龟
 * @Date 2021/8/21 17:04
 * @Desc MySQLJavaBean
 */
@Data //包含了get,set和toString
@AllArgsConstructor //有参构造器 set
@NoArgsConstructor  //无参构造器 get
public class UserBean {
    private String name;
    private String age;
}

SpringBoot框架之SpringBoot+MySQL使用案例入门_第4张图片

 2.编写Dao层接口类:

package springboot.demo.MysqlTest.DAO;

import springboot.demo.MysqlTest.bean.UserBean;
import java.util.List;

/**
 * @Author 海龟
 * @Date 2021/8/21 17:10
 * @Desc Dao层接口类
 */

public interface UserDao {

     List findall();
     UserBean findByname(String name);
     boolean addUser(UserBean user);
     boolean updateByName(String name,String age);
     boolean deleteByName(String name);

}

SpringBoot框架之SpringBoot+MySQL使用案例入门_第5张图片

3.编写Dao层服务类:

package springboot.demo.MysqlTest.DAO;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import springboot.demo.MysqlTest.bean.UserBean;

import java.util.List;

/**
 * @Author 海龟
 * @Date 2021/8/21 17:30
 * @Desc Dao层实现类
 */

@Service("userDaoImpl") //@Service为给类增加别名
public class UserDaoImpl implements UserDao{

    @Autowired //是用在JavaBean中的注解,通过byType形式,用来给指定的字段或方法注入所需的外部资源。
    private JdbcTemplate jdbcTemplate; //jdbc连接工具类



    //查询所有数据
    @Override
    public List findall() {
        String sql = "select * from test_user";
        return jdbcTemplate.query(sql, new BeanPropertyRowMapper(UserBean.class));
    }


    //查询指定name
    @Override
    public UserBean findByname(String name) {
        String sql = "select * from test_user where name=?";
        Object[] params = new Object[]{name};
        return jdbcTemplate.queryForObject(
                sql,
                params,
                new BeanPropertyRowMapper<>(UserBean.class));
    }

    //增
    @Override
    public boolean addUser(UserBean user) {
        String sql = "insert into test_user(name,age)values(?,?)";
        Object[] params = {user.getName(),user.getAge()};
        return jdbcTemplate.update(sql, params)>0;
    }

    //改
    @Override
    public boolean updateByName(String name,String age) {
        String sql = "update test_user set age=? where name=?";
        Object[] params = {name,age};
        return jdbcTemplate.update(sql,params)>0;

    }

    //删
    @Override
    public boolean deleteByName(String name) {
        String sql = "delete from test_user where name=?";
        Object[] params = {name};
        return jdbcTemplate.update(sql,params)>0;
    }
}

 4.编写Controller类:

package springboot.demo.MysqlTest;


import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import springboot.demo.MysqlTest.DAO.UserDaoImpl;
import springboot.demo.MysqlTest.bean.UserBean;


import java.util.List;


/**
 * @Author 海龟
 * @Date 2021/8/21 17:50
 * @Desc
 */
@RestController
public class MySQLController {

    @Autowired
    private UserDaoImpl userDaoImpl;

    @RequestMapping(value = "/all",method = RequestMethod.GET)

    public String findAll(){
        List list = userDaoImpl.findall();
        for (UserBean user : list) {
            System.out.println(user.getName()+" "+user.getAge());
        }
        return "查询所有!";
    }

    @RequestMapping(value = "/this",method = RequestMethod.GET)
    public String findByname(String username){
        username = "李四";
        UserBean user;
        user = userDaoImpl.findByname(username);
        System.out.println(user.getName()+" "+user.getAge());
        return  "传参查询";
    }

    @RequestMapping(value = "add",method = RequestMethod.GET)
    public String add(UserBean user){//@ModelAttribute("user") User user
        user.setName("海龟");
        user.setAge("21");
        System.out.println(user.getName()+"接收参数.....");
        boolean flag = userDaoImpl.addUser(user);
        System.out.println("......"+flag+".....");
        return "添加";
    }


    @RequestMapping(value = "/del",method = RequestMethod.GET)
    public String deleteByUser(String name){
        name = "海龟";
        boolean flag = userDaoImpl.deleteByName(name);
        System.out.println(flag);
        return "根据name删除";
    }

    @RequestMapping(value = "/update",method = RequestMethod.GET)
    public String update(String name,String age){
        //指定名字
        name = "李四";
        //要修改的age
        age = "13";
        System.out.println(userDaoImpl.findByname(name).getName());
        System.out.println(userDaoImpl.updateByName(name,age));
        System.out.println(userDaoImpl.findByname(name).getAge());
        return "修改数据";
    }


}

四、运行SpringBoot(这里包含全部方法截图,具体数据看代码)

查询所有数据库数据

SpringBoot框架之SpringBoot+MySQL使用案例入门_第6张图片

添加数据(海龟,21)

SpringBoot框架之SpringBoot+MySQL使用案例入门_第7张图片

SpringBoot框架之SpringBoot+MySQL使用案例入门_第8张图片

查询数据(李四)

SpringBoot框架之SpringBoot+MySQL使用案例入门_第9张图片

 更改数据(把李四的age变为13)

SpringBoot框架之SpringBoot+MySQL使用案例入门_第10张图片

SpringBoot框架之SpringBoot+MySQL使用案例入门_第11张图片

 删除数据(海龟,21)

SpringBoot框架之SpringBoot+MySQL使用案例入门_第12张图片

 SpringBoot框架之SpringBoot+MySQL使用案例入门_第13张图片

好啦,本次教程到此结束 ,感谢大家观看!!!

你可能感兴趣的:(SpringBoot框架案例,spring,boot,mysql)