idea后台模板与android studio的对接

2017-06-09  本文已影响0人  墨色尘埃

idea 目录结构

TIM截图20170609103124.png
主要使用UserMapper/ UserModel/ LoginController/ UserMapper.xml,客户端发送请求后先到LoginController类,control控制类持有Mapper接口,根据请求的地址到相应的方法中,该方法中使用Mapper接口的查询数据库方法,然后该接口类在对应的resources包下的.xml文件,这里是关于数据库的增删改查。顺序:
LoginController->UserMapper->UserMapper.xml->LoginController

pom.xml文件:一些包的引用配置
application.yml文件:连接数据库配置及url地址,内容如下

datasource:
  dbone:
#    url: jdbc:oracle:thin:@132.228.226.11:1521:JSEIPDB

    url: jdbc:mysql://172.16.0.218:3306/layertest?autoReconnect=true # test指数据库,另外区分mysql与oracle的url地址
#    url: jdbc:mysql://172.16.0.218:3306/test?autoReconnect=true # test指数据库,另外区分mysql与oracle的url地址
    username: huangjihai
    password: h123456
    driver-class-name: com.mysql.jdbc.Driver

#    url: jdbc:oracle:thin:@172.16.241.177:1521:rjyorcl
#    username: zhab
#    password: zhab
#    driver-class-name: oracle.jdbc.driver.OracleDriver

    type: pooled

mybatis:
    mapperLocations: classpath:zhab/mapping/*.xml
    typeAliasesPackage: zhab.model
server:
  port: 10002
#  port: 3306

spring:
   http:
    multipart:
      max-file-size: 10Mb
      max-request-size: 100Mb

interfaceUrl:
  ipUrl: http://132.228.226.11
#  ftpUrl: http://132.228.226.11
#  ftpUrl: http://172.16.214.24
  ftpUrl: http://172.16.108.137  # 本机的ip
  oaUrl: http://nt.jsoa.net
  vedioUrl: http://58.223.251.5:8080/axis2/services/GEForMsp

model:model包下的类必须要有无参构造函数??不然请求失败

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.executor.ExecutorException: No constructor found in zhab.model.BasePointModel matching [java.lang.Integer, java.lang.Double, java.lang.Double, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String]
    at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:79)

BasePointModel:

package zhab.model;

/**
 * Created by HASEE on 2017/6/8.
 */
public class BasePointModel {

    private int pointId;
    private double latitude;
    private double longitude;
    private String az;
    private String compare;
    private String lapNum;
    private String liveStatus;
    private String selfWeak;

    public BasePointModel(int pointId, double latitude, double longitude, String az, String compare, String lapNum,
                          String liveStatus, String selfWeak) {
        this.pointId = pointId;
        this.latitude = latitude;
        this.longitude = longitude;
        this.az = az;
        this.compare = compare;
        this.lapNum = lapNum;
        this.liveStatus = liveStatus;
        this.selfWeak = selfWeak;
    }

    public BasePointModel() {  //貌似必须要有无参构造函数?
    }

    public int getPointId() {
        return pointId;
    }

    public void setPointId(int pointId) {
        this.pointId = pointId;
    }

    public double getLatitude() {
        return latitude;
    }

    public void setLatitude(double latitude) {
        this.latitude = latitude;
    }

    public double getLongitude() {
        return longitude;
    }

    public void setLongitude(double longitude) {
        this.longitude = longitude;
    }

    public String getAz() {
        return az;
    }

    public void setAz(String az) {
        this.az = az;
    }

    public String getCompare() {
        return compare;
    }

    public void setCompare(String compare) {
        this.compare = compare;
    }

    public String getLapNum() {
        return lapNum;
    }

    public void setLapNum(String lapNum) {
        this.lapNum = lapNum;
    }

    public String getLiveStatus() {
        return liveStatus;
    }

    public void setLiveStatus(String liveStatus) {
        this.liveStatus = liveStatus;
    }

    public String getSelfWeak() {
        return selfWeak;
    }

    public void setSelfWeak(String selfWeak) {
        this.selfWeak = selfWeak;
    }
}

Android Studio
客户端请求数据,主要使用retrofit2。
TestService:

package com.example.rxjava20.Api;

import com.example.rxjava20.ResponseObj;
import com.example.rxjava20.bean.BasePointModel;
import com.example.rxjava20.bean.News;
import com.example.rxjava20.bean.TestStr;

import java.util.List;

import retrofit2.Call;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.POST;

/**
 * Created by HASEE on 2017/5/2 14:39
 */

public interface TestService {

    @FormUrlEncoded
    @POST("/")
    Call<News> example(@Field("name") String name, @Field("ocupation") String ocupation);

    @GET("user1/getCom")
    Call<ResponseObj<String>> getCom();

    @GET("user1/getPointList")
    Call<ResponseObj<List<BasePointModel>>> getPointList();

    @GET("user1/getStringList")
    Call<ResponseObj<List<TestStr>>> getStringList();

    @GET("user1/getStrs")
    Call<ResponseObj<String>> getStrs();
}

ZhabServerActivity:

package com.example.rxjava20;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.widget.TextView;
import android.widget.Toast;

import com.example.rxjava20.Api.TestService;
import com.example.rxjava20.bean.BasePointModel;
import com.example.rxjava20.bean.TestStr;
import com.jakewharton.retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory;

import java.util.List;

import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;

/**
 * 与IDEA后台对接测试
 */
public class ZhabServerActivity extends AppCompatActivity {

    private TextView text;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_zhab_server);

        text = (TextView) findViewById(R.id.textView);

        getPointList();
//        getStringList();
//        getStrs(); //成功

    }


    public void getaaa() {
        Retrofit retrofit = new Retrofit.Builder()
//                .baseUrl("http://172.16.214.24:10002/")
                .baseUrl("http://172.16.108.137:10002/")
                .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
                .addConverterFactory(GsonConverterFactory.create())
                .build();
        TestService testService = retrofit.create(TestService.class);
        testService.getCom()
                .enqueue(new Callback<ResponseObj<String>>() {
                    @Override
                    public void onResponse(Call<ResponseObj<String>> call, Response<ResponseObj<String>> response) {
                        Toast.makeText(ZhabServerActivity.this, "获取成功", Toast.LENGTH_SHORT).show();
                        text.setText(response.body().data);
                    }

                    @Override
                    public void onFailure(Call<ResponseObj<String>> call, Throwable t) {
                        Toast.makeText(ZhabServerActivity.this, "获取失败", Toast.LENGTH_SHORT).show();
                        text.setText(t.toString());
                    }
                });
    }

    public void getPointList() {
        Retrofit retrofit = new Retrofit.Builder()
                .baseUrl("http://172.16.108.137:10002/")
//                .baseUrl("http://172.16.214.24:10002/")
                .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
                .addConverterFactory(GsonConverterFactory.create())
                .build();
        TestService testService = retrofit.create(TestService.class);
        testService.getPointList()
                .enqueue(new Callback<ResponseObj<List<BasePointModel>>>() {
                    @Override
                    public void onResponse(Call<ResponseObj<List<BasePointModel>>> call,
                                           Response<ResponseObj<List<BasePointModel>>> response) {
                        Toast.makeText(ZhabServerActivity.this, "获取成功", Toast.LENGTH_SHORT).show();
                        text.setText(response.body().data.get(0).getAz());
                    }

                    @Override
                    public void onFailure(Call<ResponseObj<List<BasePointModel>>> call, Throwable t) {
                        Log.d("ZhabServerActivity", "获取失败:" + t.toString());
                        text.setText(t.toString());
                    }
                });

    }

    public void getStringList() {
        Retrofit retrofit = new Retrofit.Builder()
                .baseUrl("http://172.16.108.137:10002/")
                .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
                .addConverterFactory(GsonConverterFactory.create())
                .build();
        TestService testService = retrofit.create(TestService.class);
        testService.getStringList()
                .enqueue(new Callback<ResponseObj<List<TestStr>>>() {
                    @Override
                    public void onResponse(Call<ResponseObj<List<TestStr>>> call,
                                           Response<ResponseObj<List<TestStr>>> response) {
                        Toast.makeText(ZhabServerActivity.this, "获取成功", Toast.LENGTH_SHORT).show();
                        text.setText(response.body().data.get(0).getStr());
                    }

                    @Override
                    public void onFailure(Call<ResponseObj<List<TestStr>>> call, Throwable t) {
                        Log.d("ZhabServerActivity", "获取失败:" + t.toString());
                        text.setText(t.toString());
                    }
                });
    }

    public void getStrs() {
        Retrofit retrofit = new Retrofit.Builder()
                .baseUrl("http://172.16.108.137:10002/")
                .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
                .addConverterFactory(GsonConverterFactory.create())
                .build();
        TestService testService = retrofit.create(TestService.class);
        testService.getStrs()
                .enqueue(new Callback<ResponseObj<String>>() {
                    @Override
                    public void onResponse(Call<ResponseObj<String>> call,
                                           Response<ResponseObj<String>> response) {
                        Toast.makeText(ZhabServerActivity.this, "获取成功", Toast.LENGTH_SHORT).show();
                        text.setText(response.body().data);
                    }

                    @Override
                    public void onFailure(Call<ResponseObj<String>> call, Throwable t) {
                        Log.d("ZhabServerActivity", "获取失败:" + t.toString());
                        text.setText(t.toString());
                    }
                });
    }
}
上一篇下一篇

猜你喜欢

热点阅读