Java后台接口开发初步实战教程

 更新时间:2018年01月31日 09:16:50   作者:xun-ming  
下面小编就为大家分享一篇 Java后台接口开发初步实战教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

上图是查询列表的接口,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>

以上这篇 Java后台接口开发初步实战教程就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 详解Java的Proxy动态代理机制

    详解Java的Proxy动态代理机制

    Java有两种代理方式,一种是静态代理,另一种是动态代理。对于静态代理,其实就是通过依赖注入,对对象进行封装,不让外部知道实现的细节。很多 API 就是通过这种形式来封装的
    2021-06-06
  • Java语言实现简单FTP软件 FTP本地文件管理模块实现(9)

    Java语言实现简单FTP软件 FTP本地文件管理模块实现(9)

    这篇文章主要为大家详细介绍了Java语言实现简单FTP软件,FTP本地文件管理模块的实现方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • 使用Jackson-json解析一个嵌套的json字符串

    使用Jackson-json解析一个嵌套的json字符串

    这篇文章主要介绍了使用Jackson-json解析一个嵌套的json字符串,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • Java定时任务ScheduledThreadPoolExecutor示例详解

    Java定时任务ScheduledThreadPoolExecutor示例详解

    这篇文章主要介绍了Java定时任务ScheduledThreadPoolExecutor示例详解,这里使用scheduleAtFixedRate方法安排一个任务,该任务是一个 Runnable 匿名类,其run方法中调用了new LoginViewTimeTask().loginStatisticsHandle()方法,需要的朋友可以参考下
    2023-11-11
  • 在SpringBoot项目中的使用Swagger的方法示例

    在SpringBoot项目中的使用Swagger的方法示例

    这篇文章主要介绍了在SpringBoot项目中的使用Swagger的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • new出来的对象中无法使用@autowired进行对象bean注入问题

    new出来的对象中无法使用@autowired进行对象bean注入问题

    这篇文章主要介绍了基于new出来的对象中无法使用@autowired进行对象bean注入问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • Java设计模式中代理模式应用详解

    Java设计模式中代理模式应用详解

    代理模式(Proxy Parttern)为一个对象提供一个替身,来控制这个对象的访问,即通过代理对象来访问目标对象。本文将通过示例详细讲解一下这个模式,需要的可以参考一下
    2022-11-11
  • Java代码中如何去掉烦人的“!=null”

    Java代码中如何去掉烦人的“!=null”

    这篇文章主要介绍了Java代码中去掉烦人的“!=null”,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • Spring Boot 与DBunit 配合使用方法

    Spring Boot 与DBunit 配合使用方法

    这篇文章主要介绍了Spring Boot 与DBunit 配合使用方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • springboot2.3 整合mybatis-plus 高级功能(图文详解)

    springboot2.3 整合mybatis-plus 高级功能(图文详解)

    这篇文章主要介绍了springboot2.3 整合mybatis-plus 高级功能,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08

最新评论