Springboot访问MySQL简单实现

Springboot访问MySQL简单实现

初学Springboot,通过Springboot访问MySQL数据实现简单登录验证功能。
环境准备:Eclipse、MySQL。
以上两个工具的安装配置可参考前两篇博客。

一、创建数据库并建表

(1)打开MySQL可视化管理工具,这里以MySQL Workbench为例。
在这里插入图片描述

(2)点击Database->Connect to Database
在这里插入图片描述
(3)在弹出的窗口点击OK
在这里插入图片描述
(4)输入密码
在这里插入图片描述
(5)点击File->New Query Tab,输入以下脚本内容,新建数据库firstdb,新建表user,插入数据username:temp、password:123456。

create database firstdb;
use firstdb;
create table user(
	`username` varchar(10) not null,
    `password` varchar(10) not null
);
insert into user values ('temp','123456');
select * from user;

执行成功如下图所示
在这里插入图片描述

二、新建Springboot项目

(1)打开File->New->Other->Springboot->Spring Starter Project,点击next。
在这里插入图片描述
(2)根据实际情况修改,否则保持默认即可,完成后点击next。
在这里插入图片描述
(3)选择依赖。通过JDBC访问数据库,勾选Spring Web、MySQL Driver、JDBC API,点击finish即可。
在这里插入图片描述
(4)创建好后的目录如下图所示
在这里插入图片描述

三、创建登录页面

在src->main->resources->static目录下创建login.html,编写如下代码,实现简单登录界面。

<!DOCTYPE html>
<html lang="zn">
<head>
    <meta charset="UTF-8">
    <title>login</title>
</head>
<body>
    <h2>登录页面</h2>
    <form action="/login" method="post" >
        用户名:<input type="text" name="username">
        <br>
        密 &nbsp 码:<input type="password" name="password">
        <br>
        <input type="submit" value="登录" name="提交">
    </form>
</body>
</html>

效果如图所示
在这里插入图片描述

四、用Springboot访问MySQL

(1)修改application.properties,填入以下代码:

spring.datasource.url=jdbc:mysql://localhost:3306/firstdb
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.max-idle=10
spring.datasource.max-wait=10000
spring.datasource.min-idle=5
spring.datasource.initial-size=5
spring.datasource.validation-query=SELECT 1
spring.datasource.test-on-borrow=false
spring.datasource.test-while-idle=true
spring.datasource.time-between-eviction-runs-millis=18800
spring.datasource.jdbc-interceptors=ConnectionState;SlowQueryReport(threshold=0)

在这里插入图片描述
(2)创建实体类User

package com.example.demo;
import java.io.Serializable;
public class User implements Serializable{
    private static final long serialVersionUID = 1L;
    private String username; //要与列名相同
    private String password; //要与列名相同
    public String getName() {
        return username;
    }
    public void setName(String username) {
    	this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void  setPassword(String password) {
    	this.password = password;
    }
}

(3)创建UserDao类

package com.example.demo;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Repository;
import com.example.demo.User;

@Repository
public class UserDao {

    @Resource
    private JdbcTemplate jdbcTemplate;

    public List<User> getUserList(){

        String sql = "select * from user";//SQL查询语句
        return jdbcTemplate.query(sql, new RowMapper<User>() {

            @Override
            public User mapRow(ResultSet rs, int rowNum) throws SQLException {
                User user = new User();
                user.setName(rs.getString("username"));//从数据库中读取数据,放入User对象的属性中
                user.setPassword(rs.getString("password"));
                return user;
            }
        });
    }
}

(4)创建Login类

package com.example.demo;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.example.demo.UserDao;
import com.example.demo.User;
@RestController
public class Login { 
	@Resource
	private UserDao userDao;
	@PostMapping("/login")
	public String controller01(@RequestParam("username") String username,
			@RequestParam("password") String password)//获取参数{
		List<User> list = userDao.getUserList();
		//检索数据库中的用户名和密码是否匹配
		for(User user:list) {
			if(user.getName().equals(username) && user.getPassword().equals(password)) {
				return "<script>alert(\"正确\")</script>";//如果存在匹配则alert正确
			}
		}
		return "<script>alert(\"错误\")</script>";//否则alert错误
	}
	
}

(5)运行Springboot项目,打开http://localhost:8080/login.html,用户名输入temp,密码输入123456,点击登录按钮。
在这里插入图片描述
弹出以下界面
在这里插入图片描述
如果任何一项错误则显示错误。

至此已完成简单读取数据并认证,初学难免有错,欢迎指正。

https://blog.csdn.net/qq_17639593/article/details/80559313
https://www.bilibili.com/video/BV19K4y1L7MT/
https://www.runoob.com/mysql/mysql-create-tables.html
https://www.runoob.com/mysql/mysql-insert-query.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值