微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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后端的学习是学无止境的,共勉~~

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐