关闭

Java后台接口开发初步实战

标签: javahibernatemybatistomcatmysql
12073人阅读 评论(3) 收藏 举报
分类:

这里写图片描述

上图是查询列表的接口,get方式

这里写图片描述

上图是用户注册的接口,同样是get,post方式也很简单

开发工具:IntelliJ IDEA 2016.3.5
ORM框架:MyBatis
数据库:MySql
服务器:tomcat7.0

公司使用的的orm框架是Hibernate,使用起来感觉比mybatis好用多了,毕竟经过了公司这么多项目的考验,总比自己用mybatis写的项目可靠,但以下分享的还是mybatis的代码

注册接口方法:http://192.168.1.116:8080/register?username=111&password=222

    @RequestMapping(value = "register", method = RequestMethod.GET)
    @ResponseBody
    public Map<String, Object> register(@RequestParam("username") String username, @RequestParam("password") String password) {
        out.println("welcome to register,username=" + username + ";password=" + password);
        Map<String, Object> map = new HashMap<>();
        ResultBean result = onRegister(username, password);
        out.println("result==>" + result);

        map.put("code", result.getCode());
        map.put("reason", result.getReason());
        map.put("success", result.isSuccess());
        return map;
    }

具体的注册方法,获取session基本和Hibernate差不多

    private ResultBean onRegister(String username, String password) {
        ResultBean resultBean = new ResultBean();
        SqlSession session = null;
        try {
            session = sqlSessionFactory.openSession();
            LoginMapper loginMapper = session.getMapper(LoginMapper.class);
            Map<String, Object> map = new HashMap<>();
            map.put("name", username);
            map.put("password", password);
            LoginBean bean = new LoginBean();
            bean.setName(username);
            bean.setPassword(password);
            // 查询用户是否存在
            LoginBean userExist = loginMapper.findUserByName(map);
            if (userExist != null) {
                // 存在后无法注册
                resultBean.setCode("001");
                resultBean.setSuccess(false);
                resultBean.setReason("用户已存在");
            } else {
                loginMapper.addUser(bean);
                session.commit();// 重要,一定要commit,否则无法insert
                System.out.println("当前增加的用户id为:" + bean.getId());
                resultBean.setCode("200");
                resultBean.setSuccess(true);
                resultBean.setReason("注册成功");
            }
        } catch (Exception e) {
            e.printStackTrace();
            out.println("注册异常==>" + e.getMessage());
            resultBean.setCode("001");
            resultBean.setSuccess(false);
            resultBean.setReason("注册异常");
        } finally {
            session.close();
        }
        return resultBean;
    }

这个Mapper需要在配置文件中指定

public interface LoginMapper {

    public LoginBean findUserByName(Map<String,Object> map) throws Exception;
    public void addUser(LoginBean bean) throws Exception;

}

这是对应的LoginMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<mapper namespace="com.xm.travel.LoginMapper">
    <select id="loadRunList" parameterType="java.util.Map" resultType="com.xm.travel.RunBean">
        select * from run
    </select>
    <select id="loginUser" parameterType="java.util.Map" resultType="com.xm.travel.LoginBean">
        select * from user where name = #{name} and password = #{password}
    </select>
   <select id="findUserByName" parameterType="java.util.Map" resultType="com.xm.travel.LoginBean">
        select * from user where name = #{name}
    </select>
    <insert id="addUser"  useGeneratedKeys="true" keyProperty="id" >
        insert into user(id,name,password)  values(#{id},#{name},#{password})
    </insert>
</mapper>
2
3
查看评论

java web开发(二) 接口开发

java web开发(一) 环境搭建讲解了如何搭建一个Java Web项目,如果你还没了解,建议先浏览下!今天这篇文章主要讲解的就是接口开发,打算使用比较古老的或者说比较原始方法实现的接口。 一.数据库设计。     假设要做一个简单的学生信息管理系统,数据库名为studen...
  • zxw136511485
  • zxw136511485
  • 2016-06-03 16:50
  • 73536

java开发接口利用http协议传输数据

java开发接口利用http协议传输数据
  • qq_26676207
  • qq_26676207
  • 2016-12-09 10:15
  • 10187

java接口学习例子

你应该知道接口是一种契约,它与实现方式无关但是类,即使是抽象类,你都能自定义成员变量,而成员变量往往就与实现方式有关。这一点的实际意义不大。但是有一点,类会暴露太多不必要,甚至不能暴露的东西,你看一下java.util中,大部分的数据结构,都被设计成了接口-抽象类-最后实际类例如Collection...
  • yu555666
  • yu555666
  • 2007-02-27 11:30
  • 43472

java 服务器接口快速开发之servlet详细教程

又是许久没更新博客了。但最近好在有些事情忙完了。今天针对我在做的个人项目后台技术进行详细的记录。希望可以帮助一些想自己搭建简易接口开发的同学,更好的了解客户端的网络请求机制。 首先我们需要的开发工具和环境(这里不区分mac和windows,区别不大) 由于我们的接口开发语言是java,那么当然还是...
  • qq_35522272
  • qq_35522272
  • 2017-05-08 21:08
  • 7956

java web接口开发demo

  • 2016-06-03 16:53
  • 1.98MB
  • 下载

新人浅谈实际开发中对于java接口的认知

说说本人对接口的认知——1.定义开发的规范标准,2.延续代码后期的维护性和扩展性。1.先说自身对规范标准的认知,我在部门的某次项目开发中,某块业务经过小组讨论分析完后,由我担任组长的位置,我的首要开发任务是将我们探讨完毕的业务进行一个后台功能点的整理,定出一个我们开发的后台接口文档,然后根据接口文档...
  • cai58902386
  • cai58902386
  • 2017-03-08 21:41
  • 294

Java接口 详解(一)

一、基本概念接口(Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合。接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。如果一个类只由抽象方法和全局常量组成,那么这种情况下不会将其定义为一个抽象类。只会定义为一个接口,所以接口严格的来讲属...
  • wei_zhi
  • wei_zhi
  • 2016-10-06 00:46
  • 23634

Java微信分享接口开发

Java微信分享,步骤是 1、根据当前的url,获取signature,nonceStr,timestamp 和appId。 2、通过signature,nonceStr,timestamp 和appId来配置微信 wx.config。 3、通过wx.ready实现微信分享功能。
  • juewang_love
  • juewang_love
  • 2017-07-25 15:33
  • 4621

java支付接口开发

业务流程步骤: 1、生成订单信息 2、商户到银行,商户发起请求到银行 把订单信息的部分数据拼接,然后通过银行端给的MD5加密工具加密, 然后作为参数,通过http的post请求 发送到支付提供的目标银行网站 var bankURL = "b2bpay.ccb.com/NCCB/NECV5B...
  • qq_35392549
  • qq_35392549
  • 2017-08-04 10:58
  • 2971

java webservice接口开发

本文转自: axis2发布WebService(应用.aar文件发布)
  • linan0930
  • linan0930
  • 2014-07-09 09:11
  • 13347
    个人资料
    • 访问:177685次
    • 积分:2802
    • 等级:
    • 排名:第15109名
    • 原创:58篇
    • 转载:5篇
    • 译文:0篇
    • 评论:52条
    联系我吧
    我的App
    博客专栏
    文章分类