怎么用 mysql联机_文件操作,联网操作,服务器的创建,mysql数据库操作

第一部分:文件操作

1、首先需要添加权限

2、获取内存卡状态并看是否可用:Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)

3、获取目录  File sdfile = Environment.getExternalStorageDirectory();

4、然后文件的读写操作和普通的在Java中操作一样

第二部分:联网操作

1、联网无论是socket还是url都要把它放到子线程中去跑;

2、添加权限 

3、根据网址,创建URL,然后开启连接,设置连接属性,连接,关闭连接。

下面以一个发送post请求为例贴个代码:

public staticString[] getAllDrugname() {

URL url;

HttpURLConnection connection;try{

url= new URL(IP + "Drug");//这里是网址

connection=(HttpURLConnection) url.openConnection();

connection.setRequestProperty("accept", "*/*");

connection.setDoInput(true);

connection.setDoOutput(true);

PrintWriter writer= newPrintWriter(connection.getOutputStream());

writer.write("type=getAllDrugName");

writer.flush();

connection.connect();if (connection.getResponseCode() == 200) {

InputStreamReader in= newInputStreamReader(

connection.getInputStream(),"UTF-8");

StringBuilder str= newStringBuilder();intlen;char[] cbuf = new char[1024];while ((len = in.read(cbuf, 0, cbuf.length)) != -1) {

str.append(new String(cbuf, 0, len));

}return (str.toString()).split("[|]");

}

}catch(MalformedURLException e) {return new String[] { "Error:" +e.getMessage() };

}catch(IOException e) {return new String[] { "Error" +e.getMessage() };

}return null;

}

第三部分:服务器的创建:

1、创建dynamic web project,并为之选定服务器,我用的是tomcat,数据库用的是mysql;

2、复制两个jar包到【工程目录】\\webcontent\\web-inf\\lib下面,jar包分别是mysql-connector-java-5.1.7-bin.jar(用于数据库连接)和servlet-api.jar(服务器);

3、然后是写服务器:这里贴代码:

1 packageService;2

3 importjava.io.IOException;4 importjava.io.PrintWriter;5 importjava.util.LinkedList;6

7 importjavax.servlet.ServletException;8 importjavax.servlet.http.HttpServlet;9 importjavax.servlet.http.HttpServletRequest;10 importjavax.servlet.http.HttpServletResponse;11

12 importFileOperation.SaveAndReadImage;13 importMySql.MySqlHelper;14

15 public class DrugService extendsHttpServlet {16 @Override17 public voiddoGet(HttpServletRequest request, HttpServletResponse response)18 throwsServletException, IOException {19 response.setContentType("text/html;charset=UTF-8");20 PrintWriter writer =response.getWriter();21 String str = request.getParameter("type");22 System.out.println("type=" +str);23 switch(str) {24 case "getDrugMessageByName":25 String name = request.getParameter("name");26 name = new String(name.getBytes("ISO-8859-1"), "UTF-8");27 String context =getDrugMessageByName(name);28 writer.write(context);29 System.out.println("getDrugMessageByName completed");30 break;31 case "getAllDrugName":32 LinkedList names =getAllDrugName();33 StringBuffer resultName = newStringBuffer();34 boolean first = true;35 for(String ele : names) {36 if(first) {37 resultName.append(ele);38 first = false;39 } else{40 resultName.append("|" +ele);41 }42 }43 writer.write(resultName.toString());44 System.out.println("getAllDrugNames completed");45 break;60 default:61 writer.write("没有找到合适的匹配");62 }63 writer.flush();64 writer.close();65 System.out.println("exitService");66 }67 @Override68 public voiddoPost(HttpServletRequest req, HttpServletResponse resp)69 throwsServletException, IOException {70 doGet(req, resp);71 }86 }

4、部署服务器:这一步很关键,决定了我们的服务器是否可以被正常访问到。新建文件:[工程目录]\WebContent\WEB-INF\web.xml,内容:

1 <?xml version="1.0" encoding="UTF-8"?>

2

3

4 DrugService 这里是给我们的服务器起个名字,任意取

5 Service.DrugService这里要指明我们的class

6

7

8 DrugService这个名字一定要和上面的名字一样

9 /Drug这个是url后面要加的东西

10

19

第四部分:数据库操作:

数据库操作主要是个流程,经清楚流程其他没什么,这里就直接贴代码了;

1 packageMySql;2

3 importjava.sql.Connection;4 importjava.sql.DriverManager;5 importjava.sql.ResultSet;6 importjava.sql.SQLException;7 importjava.util.LinkedList;8

9 public classMySqlHelper {10 private staticConnection connection;11 private staticjava.sql.Statement statement;12 static{13 try{14 Class.forName("com.mysql.jdbc.Driver");//加载驱动15 } catch(ClassNotFoundException e) {16 e.printStackTrace();17 }18 Connection connection = null;19 try{20 connection =DriverManager.getConnection(21 "jdbc:mysql://[IP]:[port]/[database]", "[name]", "[password]");//建立连接,port一般为330622 statement=connection.createStatement();23 } catch(SQLException e) {24 e.printStackTrace();25 }26 }//-----------以下为一些数据库的增删查改等操作--------------------27 public static String[] getDrug(intid){28 StringBuffer sql=new StringBuffer("select `name`,`context` "

29 + "from drug where `id`=");30 sql.append("'"+id+"'");31 ResultSet resultSet=null;32 try{33 resultSet =statement.executeQuery(sql.toString());34 } catch(SQLException e) {35 e.printStackTrace();36 }37 try{38 int count=resultSet.getMetaData().getColumnCount();39 System.out.println(count);40 while(resultSet.next()){41 return new String[]{resultSet.getString(1),resultSet.getString(2)};42 }43 } catch(SQLException e) {44 e.printStackTrace();45 }46 return null;47 }57 public static LinkedListgetAllDrugName(){58 LinkedList names=new LinkedList();59 String sql=new String("select `name` from `drug`");60 ResultSet result=null;61 try{62 result =statement.executeQuery(sql);63 } catch(SQLException e) {64 e.printStackTrace();65 }66 try{67 while(result.next()){68 names.add(result.getString(1).trim());69 }70 } catch(SQLException e) {71 e.printStackTrace();72 }73 returnnames;74 }75 public staticString getDrugMessageByName(String name){76 String sql=new String("select `context` from `drug` "

77 + "where `name` like '%"+name+"%'");78 ResultSet result=null;79 try{80 result =statement.executeQuery(sql);81 } catch(SQLException e) {82 e.printStackTrace();83 }84 try{85 if(result.next())86 return result.getString(1);87 } catch(SQLException e) {88 e.printStackTrace();89 }90 return null;91 }92 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值