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

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

上圖是用戶注冊(cè)的接口,同樣是get,post方式也很簡(jiǎn)單
開發(fā)工具:IntelliJ IDEA 2016.3.5
ORM框架:MyBatis
數(shù)據(jù)庫: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è)參考,也希望大家多多支持腳本之家。
- java后臺(tái)實(shí)現(xiàn)支付寶支付接口和支付寶訂單查詢接口(前端為APP)
- Java 調(diào)用Restful API接口的幾種方式(HTTPS)
- 淺談java調(diào)用Restful API接口的方式
- java中接口(interface)及使用方法示例
- java開發(fā)微信分享接口的步驟
- 淺談Java 三種方式實(shí)現(xiàn)接口校驗(yàn)
- Java編程調(diào)用微信接口實(shí)現(xiàn)圖文信息推送功能
- java為移動(dòng)端寫接口開發(fā)實(shí)例
- JAVA利用HttpClient進(jìn)行HTTPS接口調(diào)用的方法
- 詳解java接口基礎(chǔ)知識(shí)附思維導(dǎo)圖
相關(guān)文章
springboot中的靜態(tài)資源加載順序優(yōu)先級(jí)
這篇文章主要介紹了springboot中的靜態(tài)資源加載順序優(yōu)先級(jí),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09
Java如何在臨界區(qū)中避免競(jìng)態(tài)條件
這篇文章主要介紹了Java如何在臨界區(qū)中避免競(jìng)態(tài)條件,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10
非常全面的Java?SpringBoot點(diǎn)贊功能實(shí)現(xiàn)
但是這些功能再項(xiàng)目中是高頻出現(xiàn)的,如果直接操作數(shù)據(jù)庫的話,對(duì)數(shù)據(jù)庫壓力太大。那遇到這個(gè)問題怎么解決?這篇文章主要給大家介紹了關(guān)于Java?SpringBoot點(diǎn)贊功能實(shí)現(xiàn)?的相關(guān)資料,需要的朋友可以參考下2022-01-01
Java中使用While語句自增運(yùn)算遍歷數(shù)組典型實(shí)例
這篇文章主要介紹了Java中使用While語句自增運(yùn)算遍歷數(shù)組典型實(shí)例,本文直接給出實(shí)例代碼,并對(duì)每一句代碼都注解了詳細(xì)注釋,需要的朋友可以參考下2015-06-06
Java實(shí)現(xiàn)字符數(shù)組全排列的方法
這篇文章主要介紹了Java實(shí)現(xiàn)字符數(shù)組全排列的方法,涉及Java針對(duì)字符數(shù)組的遍歷及排序算法的實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-12-12
Java實(shí)現(xiàn)時(shí)間片輪轉(zhuǎn)調(diào)度算法的示例代碼
時(shí)間片輪轉(zhuǎn)調(diào)度是一種最古老,最簡(jiǎn)單,最公平且使用最廣的算法,這篇文章主要為大家介紹了如何利用Java實(shí)現(xiàn)這一算法,需要的可以參考一下2023-07-07
Spring 處理 HTTP 請(qǐng)求參數(shù)注解的操作方法
這篇文章主要介紹了Spring 處理 HTTP 請(qǐng)求參數(shù)注解的操作方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友參考下吧2024-04-04

