【Java】-[Maven] 简单快速的 springboot+mybatis+mysql 完成登陆注册

环境:

编辑软件:Interllij IDEA 2019

数据库:Mysql 5.7

JDK:12.0.1

 应用框架:springboot、mybatis、mysql、thmeleaf、generator等

直接进入主题:

1、新建项目

                                                                                    (此过程需要联网)

 

2、创建数据库表

CREATE TABLE `mysql`.`TbUser`  (
  `name` varchar(255) NULL,
  `age` int(255) NULL,
  `UserName` varchar(255) NOT NULL,
  `PassWord` varchar(255) NULL,
  PRIMARY KEY (`UserName`)
);

 为什么要先建数据表呢?因为我们是面向对象编程,你得现有对象,才能有其对应的操作!

3、建立项目架构

Controller存放操作类、Mapper存放接口类(resource中的存放接口映射文件)、User存放实体类

4、使用Generator生成实体类、接口、映射文件

在IDEA的设置中搜索安装Mybatis Plugin

在项目的resource文件夹下建立generatorConfig.xml文件(建议做成模板,方便以后使用)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

<generatorConfiguration>
    <!--在外部库文件中找到mysql数据库文件的路径,复制添加进来-->
    <classPathEntry
            location="C:\Users\Acer\.m2\repository\mysql\mysql-connector-java\8.0.16\mysql-connector-java-8.0.16.jar"/>
    <context id="mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">
        <property name="suppressDate" value="true`"/>
        <property name="suppressAllComments" value="true"/>
        <!--配置mybatis与MySQL的连接,把对应userId、password修改成你的数据库账号密码-->
        <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                        connectionURL="jdbc:mysql://127.0.0.1:3306/mysql?serverTimezone=GMT%2B8"
                        userId="root"
                        password="root">
        </jdbcConnection>
        <!-- 对应生成的model所在包,修改对应的targetPackage为你项目的包名,targetProject为对应的路径 -->
        <javaModelGenerator targetPackage="com.object.demo.User"
                            targetProject="Java_Project\demo\src\main\java"/>

         <!-- 配置生成mapper接口的映射,修改对应的targetPackage为你项目的包名,targetProject为对应的路径 -->
        <sqlMapGenerator targetPackage="Mapper"
                         targetProject="Java_Project\demo\src\main\java\com\object\demo\Mapper">
        </sqlMapGenerator>
         <!-- 配置生成mapper对应的xml映射,修改对应的targetPackage为你项目的包名,targetProject为对应的路径 -->
        <javaClientGenerator targetPackage="com.object.demo.Mapper"
                             targetProject="Java_Project\demo\src\main\resources"
                             type="XMLMAPPER"/>
        <!--添加要生成的数据库对应表名,对应刚刚建立的数据表名称-->
        <table tableName="TbUser"></table>
    </context>
</generatorConfiguration>

右键点击generatorConfig.xml文件选择Run mybatis Generator运行

下方显示,则代表生成成功:

查看项目文件,即可看到生成的实体类、接口及xml文件:

5、设置springboot与数据库的连接

将resource文件夹下的application.properties文件后缀修改为.yml,编写其内容为:

server:
  port: 8080
spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/mysql?serverTimezone=GMT%2B8
    username: root
    password: root
    driver-class-name: com.mysql.cj.jdbc.Driver
mybatis:
  mapper-locations: classpath*:Mapper/*.xml

6、修改TbUserMapper.xml文件中的格式及SQL语句

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.project.edemo.Mapper.TbUserMapper">
  <insert id="insert" parameterType="com.project.edemo.User.TbUser">
element was generated on Sun Jun 02 23:45:55 CST 2019.
    insert into tb_user (name, age, UserName, 
      PassWord)
    values (#{name,jdbcType=VARCHAR}, #{age,jdbcType=INTEGER}, #{username,jdbcType=VARCHAR}, 
      #{password,jdbcType=VARCHAR})
  </insert>
  <select id="selectAll" parameterType="com.project.edemo.User.TbUser" resultType="com.project.edemo.User.TbUser">
    select name, age, username, password
    from tb_user
  </select>
  <select id="Login" parameterType="com.project.edemo.User.TbUser" resultType="com.project.edemo.User.TbUser">
    select name, age, username, password
    from tb_user where username=#{username} and password=#{password}
  </select>
</mapper>

7、调整环境并编写Controller

1.在入口文件EdemoApplication中添加(双引号中的包名为接口文件类所在的包名)扫描接口类:

@MapperScan("com.project.edemo.Mapper")

2.在接口文件中添加(与上方的配套使用):

@Repository

3.编辑Controller

package com.project.edemo.Controller;

import com.project.edemo.Mapper.TbUserMapper;
import com.project.edemo.User.TbUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;

import java.util.List;

@Service
@RestController
public class UserController {
    //引入接口对象
    final TbUserMapper TU;
    @Autowired
    public UserController(TbUserMapper tu) {
        TU = tu;
    }

    //页面入口方法
    @RequestMapping(value = "/")
    public ModelAndView index( ModelAndView mv){
        mv.setViewName("/index");
        return mv;
    }

    //登陆方法
    @RequestMapping(value = "/Login")
    public String Login(TbUser User){
        String flag = "";
        System.out.print("用户账号为:"+User.getUsername()+",密码为:"+User.getPassword()+"\n");
        try {
            if(TU.Login(User)!=null){
                System.out.print("登陆成功!\n");
                flag = "Success";
            }else {
                System.out.print("登陆失败\n");
                flag = "Error";
            }
        } catch (Exception e){
            e.printStackTrace();
        }
        return flag;
    }

    //注册方法
    @RequestMapping(value = "/Insert")
    public String Insert(TbUser User){
        String flag = "";
        System.out.print("用户账号为:"+User.getUsername()+",密码为:"+User.getPassword()+"\n");
        try {
            if(TU.insert(User)==1){
                System.out.print("注册成功!\n");
                flag = "Success";
            }else {
                System.out.print("注册失败\n");
                flag = "Error";
            }
        } catch (Exception e){
            e.printStackTrace();
        }
        return flag;
    }
}

8、编写登陆注册页面

1.在static文件夹下新建JS文件夹,将Jquery.js文件放入其中

2.在templates文件夹下新建index.html文件(登陆注册都在此页面上,很简陋)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>首页</title>
    <script src="/JS/jquery.js"></script>
</head>
<script>
function Login() {
    $.ajax({
        url:"/Login",
        type:"POST",
        timeout:2000,
        dataType:"text",
        data:{
            "username":$('#UserName').val(),
            "password":$('#PassWord').val()
        },
        success:function (d) {
            if(d==="Success"){
                alert("登陆成功!");
            }else {
                alert("登陆失败!");
            }

        }
    })
}
function Insert() {
    $.ajax({
        url:"/Insert",
        type:"POST",
        timeout:2000,
        dataType:"text",
        data:{
            "name":$('#Insert_Name').val(),
            "age":$('#Insert_age').val(),
            "username":$('#Insert_UserName').val(),
            "password":$('#Insert_PassWord').val()
        },
        success:function (d) {
            if(d==="Success"){
                alert("注册成功!");
            }else {
                alert("注册失败!");
            }

        }
    })
}
</script>
<body>
<div>
用户名:<input type="text" id="UserName" />
密码:<input type="password" id="PassWord" />
<input type="button" onclick="Login()" value="提交">
</div>
<br/>
<br/>
<div>
姓名:<input type="text" id="Insert_Name" /><br/>
年龄:<input type="text" id="Insert_age" /><br/>
用户名:<input type="text" id="Insert_UserName" /><br/>
密码:<input type="password" id="Insert_PassWord" /><br/>
<input type="button" onclick="Insert()" value="提交">
</div>
</body>
</html>

9、浏览器查看

1.在浏览器中输入127.0.0.1:8080

2.测试注册

3.测试登陆

10、OK完工,页面美化、登陆拦截什么的慢慢添加。

 

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值