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

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

上圖是用戶注冊的接口,同樣是get,post方式也很簡單
開發(fā)工具:IntelliJ IDEA 2016.3.5
ORM框架:MyBatis
數(shù)據(jù)庫:MySql
服務(wù)器:tomcat7.0
公司使用的的orm框架是Hibernate,使用起來感覺比mybatis好用多了,畢竟經(jīng)過了公司這么多項目的考驗,總比自己用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("當(dāng)前增加的用戶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;
}
這是對應(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后臺接口開發(fā)初步實戰(zhàn)教程就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
springboot中的靜態(tài)資源加載順序優(yōu)先級
這篇文章主要介紹了springboot中的靜態(tài)資源加載順序優(yōu)先級,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09
非常全面的Java?SpringBoot點贊功能實現(xiàn)
但是這些功能再項目中是高頻出現(xiàn)的,如果直接操作數(shù)據(jù)庫的話,對數(shù)據(jù)庫壓力太大。那遇到這個問題怎么解決?這篇文章主要給大家介紹了關(guān)于Java?SpringBoot點贊功能實現(xiàn)?的相關(guān)資料,需要的朋友可以參考下2022-01-01
Java中使用While語句自增運算遍歷數(shù)組典型實例
這篇文章主要介紹了Java中使用While語句自增運算遍歷數(shù)組典型實例,本文直接給出實例代碼,并對每一句代碼都注解了詳細注釋,需要的朋友可以參考下2015-06-06
Java實現(xiàn)時間片輪轉(zhuǎn)調(diào)度算法的示例代碼
時間片輪轉(zhuǎn)調(diào)度是一種最古老,最簡單,最公平且使用最廣的算法,這篇文章主要為大家介紹了如何利用Java實現(xiàn)這一算法,需要的可以參考一下2023-07-07
Spring 處理 HTTP 請求參數(shù)注解的操作方法
這篇文章主要介紹了Spring 處理 HTTP 請求參數(shù)注解的操作方法,本文通過實例代碼給大家介紹的非常詳細,感興趣的朋友參考下吧2024-04-04

