springboot环境下实现ajax访问数据库

最近学习了一些Javascript DOM的知识,想要在springboot环境下实现ajax访问数据库并实时返回查询结果。将成果放在这里加深一下记忆。

配置环境

springboot环境下引入阿里系的fastjson组件依赖,用于解析前端传来的json元素

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.76</version>
        </dependency>

前端需要引入jquery的依赖,使用jquery提供的ajax方法进行操作

<script src="../../plugins/jquery/jquery.min.js"></script>

实现

DAO层

@Repository
public interface UserRepository {
    Optional<LoginServiceModel> FindUserByusername(String username);

    Optional<LoginServiceModel> FindUserByemail(String email);

    Optional<LoginServiceModel> FindUserByusernameAndpassword(String username,String password);

    ArrayList<UserMessageModel> GetUserByusername(String username);

    int RegisterUser(User user);
}

Service层

@Service
public class UserServiceImpl implements UserService {
    @Autowired
    UserRepository userRepository;

    @Override
    public boolean FindUserByusername(String username) {
        return userRepository.FindUserByusername(username).isPresent();
    }

Controller层

    //接收json数据串需要在controller方法处加@ResponseBody注解
    @ResponseBody
    @PostMapping("/test")
    public String test(@RequestBody JSONObject message){
        /* 1.get方法返回值为Object类型,需要进行强制转换
        *  2.get方法内的参数必须与Js脚本内json串的key值对应*/
        boolean ss=userService.FindUserByusername((String)message.get("message"));
        if(ss)return "true";
        else return "false";
    }

ajax代码

function isexist(i){
    var message =$("#uname").val();
    var tele = {"message":message};//json串的标准形式,新版本json严格要求格式正确
    var option ={
        url:"/user/test",//ajax访问Controller位置
        contentType:"application/json;charset=UTF-8",
        type:"POST",//GET请求无法接收json串
        async:false,
        datatype: "json",
        data: JSON.stringify(tele),//将json串转换为字符串形式
        success:function (msg){
            message=msg;
            if(msg==="true")$("#acc").html("用户已存在!");
            else $("#acc").html("");
        }
    };
    $.ajax(option);//jquery的ajax方法
}

通过上述操作实现了登录界面用户名自动查询是否重名的功能

输入的用户名在后台数据库中已经存在,自动提示重名
输入的用户名在后台数据库不存在,不再提示

Java后端的学习是学无止境的,共勉~~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值