欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java后臺(tái)接口開發(fā)初步實(shí)戰(zhàn)教程

 更新時(shí)間:2018年01月31日 09:16:50   作者:xun-ming  
下面小編就為大家分享一篇 Java后臺(tái)接口開發(fā)初步實(shí)戰(zhàn)教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

上圖是查詢列表的接口,get方式

上圖是用戶注冊(cè)的接口,同樣是get,post方式也很簡(jiǎn)單

開發(fā)工具:IntelliJ IDEA 2016.3.5

ORM框架:MyBatis

數(shù)據(jù)庫(kù):MySql

服務(wù)器:tomcat7.0

公司使用的的orm框架是Hibernate,使用起來感覺比mybatis好用多了,畢竟經(jīng)過了公司這么多項(xiàng)目的考驗(yàn),總比自己用mybatis寫的項(xiàng)目可靠,但以下分享的還是mybatis的代碼

注冊(cè)接口方法: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;
 }

具體的注冊(cè)方法,獲取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) {
    // 存在后無法注冊(cè)
    resultBean.setCode("001");
    resultBean.setSuccess(false);
    resultBean.setReason("用戶已存在");
   } else {
    loginMapper.addUser(bean);
    session.commit();// 重要,一定要commit,否則無法insert
    System.out.println("當(dāng)前增加的用戶id為:" + bean.getId());
    resultBean.setCode("200");
    resultBean.setSuccess(true);
    resultBean.setReason("注冊(cè)成功");
   }
  } catch (Exception e) {
   e.printStackTrace();
   out.println("注冊(cè)異常==>" + e.getMessage());
   resultBean.setCode("001");
   resultBean.setSuccess(false);
   resultBean.setReason("注冊(cè)異常");
  } finally {
   session.close();
  }
  return resultBean;
 }

這個(gè)Mapper需要在配置文件中指定

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

這是對(duì)應(yīng)的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后臺(tái)接口開發(fā)初步實(shí)戰(zhàn)教程就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • java中String.intern()方法功能介紹

    java中String.intern()方法功能介紹

    這篇文章主要介紹了java中String.intern()方法具有什么功能,主要包括String.intern原理,JDK6中String.intern()的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • SpringBoot訪問接口自動(dòng)跳轉(zhuǎn)login頁(yè)面的問題及解決

    SpringBoot訪問接口自動(dòng)跳轉(zhuǎn)login頁(yè)面的問題及解決

    這篇文章主要介紹了SpringBoot訪問接口自動(dòng)跳轉(zhuǎn)login頁(yè)面的問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Java中的線程池ThreadPoolExecutor深入解析

    Java中的線程池ThreadPoolExecutor深入解析

    這篇文章主要介紹了Java中的線程池ThreadPoolExecutor深入解析,線程池,thread pool,是一種線程使用模式,線程池維護(hù)著多個(gè)線程,等待著監(jiān)督管理者分配可并發(fā)執(zhí)行的任務(wù),需要的朋友可以參考下
    2023-11-11
  • Java如何使用Query動(dòng)態(tài)拼接SQL詳解

    Java如何使用Query動(dòng)態(tài)拼接SQL詳解

    這篇文章主要給大家介紹了關(guān)于Java如何使用Query動(dòng)態(tài)拼接SQL的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01
  • 使用@CacheEvict清除指定下所有緩存

    使用@CacheEvict清除指定下所有緩存

    這篇文章主要介紹了使用@CacheEvict清除指定下所有緩存,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • SpringBoot中各種Controller的寫法

    SpringBoot中各種Controller的寫法

    這篇文章主要介紹了SpringBoot中各種Controller的寫法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • java同步之如何寫一個(gè)鎖Lock

    java同步之如何寫一個(gè)鎖Lock

    本篇文章的目標(biāo)一是自己動(dòng)手寫一個(gè)鎖,這個(gè)鎖的功能很簡(jiǎn)單,能進(jìn)行正常的加鎖、解鎖操作。能更好地理解后面章節(jié)將要學(xué)習(xí)的AQS及各種同步器實(shí)現(xiàn)的原理。下面小編來和大家一起學(xué)習(xí)下吧
    2019-05-05
  • java讀寫oracle的blob字段示例

    java讀寫oracle的blob字段示例

    這篇文章主要介紹了java讀寫oracle的blob字段示例,需要的朋友可以參考下
    2014-02-02
  • SpringBoot調(diào)用第三方WebService接口的兩種方法

    SpringBoot調(diào)用第三方WebService接口的兩種方法

    本文主要介紹了SpringBoot調(diào)用第三方WebService接口的兩種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • java如何實(shí)現(xiàn)自動(dòng)生成數(shù)據(jù)庫(kù)設(shè)計(jì)文檔

    java如何實(shí)現(xiàn)自動(dòng)生成數(shù)據(jù)庫(kù)設(shè)計(jì)文檔

    以前我們還需要手寫數(shù)據(jù)庫(kù)設(shè)計(jì)文檔、現(xiàn)在可以通過引入screw核心包來實(shí)現(xiàn)Java?數(shù)據(jù)庫(kù)文檔一鍵生成。本文將具體介紹一下如何通過java自動(dòng)生成數(shù)據(jù)庫(kù)設(shè)計(jì)文檔,需要的朋友可以參考下
    2021-11-11

最新評(píng)論