-
2018-12-25 22:21:32
封装类的代码实现
package com.example.demo.model; public class AjaxResult <T> { private static final int CODE_SUCCESS = 200; private static final int CODE_FAIL = 400; private static final String MSG_SUCCESS="success"; private static final String MSG_FAIL="failed"; private int code; private T data; private String msg; public AjaxResult(){ } public AjaxResult(int code){ this.code = code; } public AjaxResult(int code, T data){ this.code = code; this.data = data; } public AjaxResult(int code, String msg){ this.code = code; this.msg = msg; } public AjaxResult(int code, String msg,T data) { this.code = code; this.msg = msg; this.data=data; } public static AjaxResult success(){ return new AjaxResult(CODE_SUCCESS,MSG_SUCCESS); } public static AjaxResult success(Object data){ return new AjaxResult(CODE_SUCCESS,MSG_SUCCESS, data); } public static AjaxResult fail(){ return new AjaxResult(CODE_FAIL, MSG_FAIL); } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public int getCode() { return code; } public void setCode(int code) { this.code = code; } public T getData() { return data; } public void setData(T data) { this.data = data; } }
Controller的登录方法
@RequestMapping("/login") public AjaxResult login(@RequestParam("username") String username,@RequestParam("password") String password) { if(userService.isloginSuccess(username, password).isEmpty()) { return AjaxResult.fail(); } List<UserModel> list=new ArrayList<>(); list=userService.isloginSuccess(username, password); return AjaxResult.success(list); }
更多相关内容 -
详解StackExchange.Redis通用封装类分享
2020-08-31 22:37:16主要介绍了详解StackExchange.Redis通用封装类分享 ,详细的介绍了StackExchange.Redis通用封装,具有一定的参考价值,有需要的可以了解一下。 -
C# sqlserver数据库操作封装类
2019-06-27 14:45:30C#的sqlserver数据库操作封装类,封装了sql语句的查询、修改、插入、删除操作,以及存储过程的执行,包括有输入、输出参数的存储过程,存储过程的执行无需输入任何参数名称,只需输入参数值即可。同时封装了大批量... -
c# RabbitMQ封装类,连接发送接收解析都支持
2021-07-23 11:41:06c# RabbitMQ封装类,连接发送接收解析都支持 -
C#连接Mysql封装类操作
2020-04-13 14:33:16一个链接MySQL的封装 包含有结果查询和无结果查询 记得先安装mysql-connector-net-8.0.18 然后在项目中添加引用Mysql.Data -
Qt 数据库访问封装类
2017-02-08 10:12:05封装了常用的mysql,sqlserver,sqllite,access数据库的连接,数据访问等方法,原作者链接:http://www.qtcn.org/bbs/read-htm-tid-62347.html -
c++连接mysql的封装类
2018-07-06 09:26:56c++与mysql的封装类,有5个封装好的,都可以使用,可以根据自己的需求进行选择 -
Python pymysql 数据库模型封装类(python3.7)
2019-05-08 14:16:20Python pymysql dbmodelClass数据库模型封装类(python version 3.7) -
c# Redis使用及封装类
2018-08-07 12:01:07c# Redis使用及封装类,记得先装redis及启用。封装类内为单例可以直接使用。 -
C# socket封装类和组件含例程全部开源
2018-06-17 14:14:17C# socket封装类和组件含例程全部开源,可以说全网封装最好的C#类,十分强大,亲测很好,值得参考和学习 -
Windows下libevent C++封装类实现
2016-12-11 22:54:57windows平台下对于服务器高并发的网络模型选型中,使用...本文针对libevent从服务端、客户端两个角度实现了封装类,真正做到,我们在使用封装类时候,只需要关注业务逻辑的处理,不需要关注socket的通信的细节。 -
c++ http 协议封装类 很好用 只有头文件包含就能用
2018-06-22 09:26:31c++ http 协议封装类 很好用 只有头文件包含就能用...... -
php mysql封装类
2014-04-08 18:58:30php 操作数据库类 小巧方便 灵活 mysql类 -
java中封装类(一)
2021-03-16 20:05:18java中封装类共九个,分别是Boolean,Byte,Short,Integer,Long,Float,Double,Character,Void其中Void对于使用者并无多大意义,也不可以构造任何对象,代码如下:packagejava.lang;public final classVoid {public ...java中封装类共九个,分别是Boolean,Byte,Short,Integer,Long,Float,Double,Character,Void
其中Void对于使用者并无多大意义,也不可以构造任何对象,代码如下:
packagejava.lang;public final classVoid {public static final Class TYPE = Class.getPrimitiveClass("void");privateVoid() {}
}
View Code
这几个封装类中,以Boolean类型最简单,Character最复杂,Character个人觉得也是整个java中最复杂的一个类,先说Boolean:
packagejava.lang;public final class Boolean implements java.io.Serializable,Comparable{public static final Boolean TRUE = new Boolean(true);public static final Boolean FALSE = new Boolean(false);public static final Class TYPE = Class.getPrimitiveClass("boolean");private final booleanvalue;private static final long serialVersionUID = -3665804199014368530L;public Boolean(booleanvalue) {this.value =value;
}publicBoolean(String s) {this(toBoolean(s));
}public static booleanparseBoolean(String s) {returntoBoolean(s);
}public booleanbooleanValue() {returnvalue;
}public static Boolean valueOf(booleanb) {return (b ?TRUE : FALSE);
}public staticBoolean valueOf(String s) {return toBoolean(s) ?TRUE : FALSE;
}public static String toString(booleanb) {return b ? "true" : "false";
}publicString toString() {return value ? "true" : "false";
}public inthashCode() {return value ? 1231 : 1237;
}public booleanequals(Object obj) {if (obj instanceofBoolean) {return value ==((Boolean)obj).booleanValue();
}return false;
}public static booleangetBoolean(String name) {boolean result = false;try{
result=toBoolean(System.getProperty(name));
}catch(IllegalArgumentException e) {
}catch(NullPointerException e) {
}returnresult;
}public intcompareTo(Boolean b) {return compare(this.value, b.value);
}public static int compare(boolean x, booleany) {return (x == y) ? 0 : (x ? 1 : -1);
}private static booleantoBoolean(String name) {return ((name != null) && name.equalsIgnoreCase("true"));
}
}
View Code
Boolean实现了Comparable接口,也就是说boolean类型本身是可以比较的,而对于boolean类型而言,在java中认为true是大于false的。示例如下:
packagedemo.nio;public classBooleanDemo {public static voidmain(String[] args){
System.out.println(Boolean.compare(true, false));//1 代表大于
System.out.println(Boolean.compare(false, false));//0 代表等于
System.out.println(Boolean.compare(true, true));//0 代表等于
System.out.println(Boolean.compare(false, true));//-1 代表小于
}
}
值得一提的是Boolean的hashcode是两个常数,这就保证了不管从何处new的对象,只要内部的value字段值为true,它的hashcode就是1231,为false就是1237。equals方法完全调用了内部value字段的==操作。所有的封装类型都包含了valueOf的静态函数,并且有
两个重载版本,分别是基元类型参数和字符串参数。还有一个parse函数,内部可以通过返回Cache中的数据来避免重复的装箱操作。java中对于Boolean的Cache就是 Boolean.TRUE和Boolean.FALSE两个静态字段。它们是公共类型。
public classBooleanDemo {public static voidmain(String[] args){
Boolean b3= Boolean.valueOf(true);
Boolean b4= Boolean.valueOf("true");
Boolean b5= Boolean.parseBoolean("true");
}
}
View Code
-
C# http Get/POST请求封装类
2014-08-29 16:34:40C# http Get/POST请求封装类 -
log4cplus封装类
2012-12-25 21:49:14挺方便的一个log4cplus封装类,已经用在项目上面了 -
c#操作MySQL数据库封装类
2012-11-22 18:21:25c#操作MySQL数据库封装类 -
C++XML读写封装类
2016-01-25 10:49:07C++封装的XML读写类,可以参考使用。 -
vue axios封装 类方法
2022-04-24 19:05:03axios封装1.下载axios
npm i axios
2.新建utils工具目录
3.创建config.js、、request.js、api.js
一、config.js用于配置不同环境下的baseURL(开发环境或者打包环境)
//config.js export default { baseUrl: { dev: '', pro: '' } }
二、request.js用于封装axios方法(配置拦截器、配置公共配置)
//request.js import axios from "axios" import config from './config.js' //判断环境来获取不同的url const baseUrl = process.env.NODE_ENV === 'development' ? config.baseUrl.dev : config.baseUrl.pro class axiosRequest { constructor(baseUrl) { this.baseUrl = baseUrl } getConfig() {//公共基础配置 const config = { baseURL: this.baseUrl, header: {} } return config } interceptor(instance) {//给实例配置拦截器 // 添加请求拦截器 instance.interceptors.request.use(function(config) { // 在发送请求之前做些什么 return config; }, function(error) { // 对请求错误做些什么 return Promise.reject(error); }); // 添加响应拦截器 instance.interceptors.response.use(function(response) { // 对响应数据做点什么 return response; }, function(error) { // 对响应错误做点什么 // console.log(error) return Promise.reject(error); }); } request(options) {//新建实例并配置实例并可传参 const instance = axios.create() //新建axios实例 options = {...this.getConfig(),...options} //参数(baseURL、其他参数) this.interceptor(instance) //给axios实例添加拦截器 return instance(options) //给axios实例添加参数 } } export default new axiosRequest(baseUrl) //暴露实例
三、api.js用于存放各个不同的接口请求方法
//api.js import http from './request.js' //用于存放各种专门的获取api的函数 //之后哪个组件需要使用axios就直接调用此js文件的方法 export const getData = () => { return http.request({ url: '/home/getData' }) }
-
http下载和上传文件 c++ 封装类
2014-12-10 13:37:23用c++ 封装的 CHttpClient 类 能够实现http文件上传和下载 -
okHttp的封装类(kotlin)
2022-01-28 19:12:58先贴工具类的代码 object HttpUtil { //这是Get请求 fun sendOkHttpGetRequest(address:String, callback: okhttp3.Callback){ val client= OkHttpClient() val request= Request.Builder().url(address)....先贴工具类的代码
object HttpUtil { //这是Get请求 fun sendOkHttpGetRequest(address:String, callback: okhttp3.Callback){ val client= OkHttpClient() val request= Request.Builder().url(address).build() //必须调用enqueue方法,异步网络请求 client.newCall(request).enqueue(callback) } //这是Post请求 fun sendOkHttpPostRequest(address: String, requestBody: RequestBody, callback:okhttp3.Callback){ val client=OkHttpClient() val request=Request.Builder().url(address).post(requestBody).build() //必须调用enqueue方法,异步网络请求 client.newCall(request).enqueue(callback) } }
需要使用工具类的时候就HttpUtil.fun()
HttpUtil.sendOkHttpGetRequest("https://wanandroid.com/user_article/list/$curPage/json", object : Callback { override fun onFailure(call: Call, e: IOException) { } override fun onResponse(call: Call, response: Response) { //网络请求成功后,解析json数据 val responseData = response.body?.string() //调用方法刷新recycleView数据,但注意在此函数内是子线程不能直接更新ui recycleViewData(responseData) } })
val username = mEdUsername.text.toString() val password = mEdPassword.text.toString() //Post请求需要先bulid requestBody val requestBody = FormBody.Builder() .add("username", username) .add("password", password) .build() HttpUtil.sendOkHttpPostRequest( "https://www.wanandroid.com/user/login", requestBody, object : Callback { override fun onFailure(call: Call, e: IOException) { } override fun onResponse(call: Call, response: Response) { //网络请求成功后,解析json数据 val responseData = response.body?.string() } })
-
序列化和反序列化的封装类
2011-04-22 15:05:45序列化和反序列化的封装类,只要调用就行 序列化和反序列化的封装类 序列化和反序列化的封装类 序列化和反序列化的封装类 序列化和反序列化的封装类 -
VC连接SQLite3的方法(MFC封装类)
2010-10-13 16:26:55完整的介绍VC连接SQLite3的方法(MFC封装类) http://blog.csdn.net/akof1314/archive/2010/10/13/5937103.aspx 里面包括SQLite3资料,还有图形数据查看器,示例工程等等 -
Idea里封装类和重写Object中toString()方法的快捷方式
2020-03-13 20:16:59创建一个学生类,例如: ...封装类 在IDEA中使用快捷方式alt+insert键弹出(注意:此时光标应在类中): 点击后进入以下界面,点OK就好。 结果: public class Student { private String name... -
response返回封装类
2018-10-23 11:31:36response返回封装类 ServerResponse public class ServerResponse<T> implements Serializable { private int status; private String msg; private T data; private ServerResponse(int status) {... -
Java通用接口响应封装类
2020-01-14 00:42:07Java接口响应封装类 Web开发中,前后分离是个趋势,现在大部分公司研发部门已经在走前后分离的路子了,前后分离开发各司其职能够有效的提高工作效率和开发质量。 REST接口会返回各种各样的数据,如果对接口的格式不... -
C#实现http的GET/POST请求封装类-HttpRequest
2020-04-27 10:57:54C#实现http的GET/POST请求封装类-HttpRequest背景代码实现 背景 在开发微信应用时,会经常在C#服务端以Http的GET或POST方式请求钉钉平台或微信平台的接口,为了方便发起请求,同时避免引入其他的dll,本人自己编写了... -
使用C#将SqlServer增删改查操作封装类
2019-07-28 16:26:26咳,老明宇写了一个SqlServer的封装类,简单实用,有基础有兴趣的宝宝们,可以参考一下! 一共分为三个主要方法:ExecuteScalar()方法:返回结果集中的第一行第一列;ExecuteReader()方法:返回DataReader对象;... -
封装类和基本类型
2018-11-11 21:37:00封装类和基本类型最大的区别就是:封装类可以调用属性和方法,而基本类型不能。 可以通过封装类实现把String类型转换成需要的基本类型。 例如: public static void a() { int a2 = Integer.parseInt(&...