当前位置:嗨网首页>书籍在线阅读

08-技术要点

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

20.3 技术要点

本节视频教学录像:2分钟

本章中采用的是Google Map作为第三方API使用,读者也可以使用百度地图API来重新设计开发。百度地图对国内定位服务将有更好的支持,并且支持文档也相当完善,百度地图LBS开放平台官方网址为:http://developer.baidu.com/map/。另外本系统的数据记录是作为单机数据进行存储,SQLite的使用需要读者单独掌握

Java连接MySQL数据库,代码如下。

package src; import java.io.IOException import java.io.UnsupportedEncodingException import java.sql. import java.util.; public class MysqlConnectSystem { /* @param args

  • @throws IOException / public static void main(String[] args) throws SQLException, IOException { String Usename,KeyID,UrlString //String DriverConnect char MenuExitValue String driver=”com.mysql.jdbc.Driver” Scanner EntryValue=new Scanner(System.in) System.out.println(“欢迎使用MysqlConnectSystem信息管理系统!") MysqlConnectSystem mysqlconnect=new MysqlConnectSystem() MysqlConnectSystem mysqlinsert=new MysqlConnectSystem() MysqlConnectSystem mysqlupdate=new MysqlConnectSystem() MysqlConnectSystem mysqldelete=new MysqlConnectSystem() System.out.println("请输入要登录的用户名:") Usename=EntryValue.next() System.out.println("请输入要登录的数据库的密码:") KeyID=EntryValue.next() System.out.println("请输入需要登录的数据库:") UrlString="jdbc:mysql://127.0.0.1:3306/"+EntryValue.next() do{ try { Class.forName(driver) Connection conn=DriverManager.getConnection(UrlString, Usename, KeyID) if(!conn.isClosed()) { int MenuSelectValue System.out.println("Succeeded connectint to the database company!!") System.out.println("请选择需要的操作:1、查询数据 2、插入数据 3、更新数据 4、删除数据 ") MenuSelectValue=EntryValue.nextInt() switch(MenuSelectValue){ case 1: mysqlconnect.Mysql_ConnectExecute_Select(Usename,KeyID,UrlString) break case 2: mysqlinsert.Mysql_ConnectExecute_Insert(Usename,KeyID,UrlString) break case 3: mysqlupdate.Mysql_ConnextExecute_Update(Usename,KeyID,UrlString) break case 4: mysqldelete.Mysql_ConnectExecute_Delete(Usename,KeyID,UrlString) break; default: } conn.close() //Statement statement=conn.createStatement() } }catch(ClassNotFoundException e){ // TODO 自动生成 catch 块 //e.printStackTrace() System.out.println("找不到JDBC驱动模块!") }catch(InputMismatchException e){ System.out.println("输入非法的字符!") } System.out.println("是否退出系统?返回主菜单(m)退出(e)") MenuExitValue=(char)System.in.read(); }while(MenuExitValue!='e'); System.out.println("程序已结束!") } / the Program is to Select the database!!! / public void Mysql_ConnectExecute_Select(String UseNameValue,String KeyIDValue,String UrlinforValue) { String SelectDriver="com.mysql.jdbc.Driver" String Select_By_Usename,Select_By_KeyID,Select_By_Urlinfor int SelectStyleValue Scanner EntryValue=new Scanner(System.in) try{ Class.forName(SelectDriver) Connection conn=DriverManager.getConnection(UrlinforValue,UseNameValue,KeyIDValue) if(!conn.isClosed()) { Statement statement=conn.createStatement() System.out.println("请选择查询的方式:1、按姓名查询 2、按密码查询 3、按网址查询 4、全部显示 ") SelectStyleValue=EntryValue.nextInt() switch (SelectStyleValue){ case 1: System.out.println("请输入要查找的用户名:") Select_By_Usename=EntryValue.next() String SelectExecuteState="select from urlinformation where usename='"+Select_By_Usename+"'" ResultSet rs=statement.executeQuery(SelectExecuteState) System.out.println("---------------------------------------------------------------------") System.out.println("the result is:") System.out.println("---------------------------------------------------------------------") System.out.println("Name"+" "+"keyid"+" "+"urlinfor") System.out.println("---------------------------------------------------------------------") String ReUseNameValue=null while(rs.next()) { ReUseNameValue=rs.getString("usename") ReUseNameValue=new String(ReUseNameValue.getBytes("ISO-8859-1"),"GB2312") System.out.println(ReUseNameValue+" "+rs.getString("Keyid")+" "+rs.getString("urlinfor")) } rs.close() break case 2: System.out.println("请输入要查找的密码:") Select_By_KeyID=EntryValue.next() String SelectExecuteStateValue="select from urlinformation where keyid='"+Select_By_KeyID+"'" ResultSet rsk=statement.executeQuery(SelectExecuteStateValue) System.out.println("---------------------------------------------------------------------") System.out.println("the result is:") System.out.println("---------------------------------------------------------------------") System.out.println("Name"+" "+"keyid"+" "+"urlinfor") System.out.println("---------------------------------------------------------------------") String ReKeyIDValue=null while(rsk.next()){ ReKeyIDValue=rsk.getString("keyid") ReKeyIDValue=new String(ReKeyIDValue.getBytes("ISO-8859-1"),"GB2312") System.out.println(rsk.getString("usename")+" "+ReKeyIDValue+" "+ rsk.getString("urlinfor")) } rsk.close() break case 3: System.out.println("请输入要查找的网址:") Select_By_Urlinfor=EntryValue.next() String SelectExecuteStateValueUrl="select from urlinformation where urlinfor='"+Select_By_Urlinfor+"'" ResultSet rsu=statement.executeQuery(SelectExecuteStateValueUrl) System.out.println("---------------------------------------------------------------------") System.out.println("the result is:") System.out.println("---------------------------------------------------------------------") System.out.println("Name"+" "+"keyid"+" "+"urlinfor") System.out.println("---------------------------------------------------------------------") String ReUrlinforValue=null while(rsu.next()){ ReUrlinforValue=rsu.getString("urlinfor") try { ReUrlinforValue=new String(ReUrlinforValue.getBytes("ISO-8859-1"),"GB2312") }catch(UnsupportedEncodingException e){ //TODO自动生成catch块 e.printStackTrace() } System.out.println(rsu.getString("usename")+" "+rsu.getString("keyid")+""+ReUrlinforValue) } rsu.close() break case 4: String SelectAllRecord="selectfrom urlinformation" ResultSet rsa=statement.executeQuery(SelectAllRecord) System.out.println("---------------------------------------------------------------------") System.out.println("the result is:") System.out.println("---------------------------------------------------------------------") System.out.println("Name"+" "+"keyid"+" "+"urlinfor") System.out.println("---------------------------------------------------------------------") String ReAllRecordValue=null while(rsa.next()) { ReAllRecordValue=rsa.getString("usename") ReAllRecordValue=new String(ReAllRecordValue.getBytes("ISO-8859-1"),"GB2312") System.out.println(rsa.getString("usename")+" "+rsa.getString("keyid")+" "+rsa.getString("urlinfor")) } break default: System.out.println("你输入非法的字符!"); } } conn.close() } catch(UnsupportedEncodingException e){ //TODO自动生成catch块 e.printStackTrace() }catch(ClassNotFoundException e){ e.printStackTrace() }catch(SQLException e){ //TODO自动生成catch块 e.printStackTrace() } } / the Program is to Select the database!!! / public void Mysql_ConnectExecute_Insert(String UseNameValue,String KeyIDValue,String UrlinforValue) { String InsertDriver="com.mysql.jdbc.Driver" String InsertUseNameValue,InsertKeyIDValue,InsertUrlinforValue String InsertDatabaseExecute Scanner EntryValue=new Scanner(System.in) try{ Class.forName(InsertDriver) Connection conn=DriverManager.getConnection(UrlinforValue,UseNameValue,KeyIDValue) if(!conn.isClosed()) { Statement statement=conn.createStatement() System.out.println("请输入要插入数据库的用户名:") InsertUseNameValue=EntryValue.next() System.out.println("请输入密码:") InsertKeyIDValue=EntryValue.next() System.out.println("请输入登录的网址:") InsertUrlinforValue=EntryValue.next() InsertDatabaseExecute="insert into urlinformation value('"+InsertUseNameValue+"','"+InsertKeyIDVal ue+"','"+InsertUrlinforValue+"')" System.out.println(InsertDatabaseExecute) statement.executeUpdate(InsertDatabaseExecute) System.out.println("已成功将数据插入数据库中!") conn.close() } }catch(ClassNotFoundException e){ // TODO 自动生成 catch 块 e.printStackTrace() }catch(SQLException e){ // TODO 自动生成 catch 块 e.printStackTrace() //System.out.println("SQL语句异常!!!") } } / the Program is to update the database!!! / public void Mysql_ConnextExecute_Update(String UseNameValue,String KeyIDValue,String UrlinforValue) { String UpdateDriver="com.mysql.jdbc.Driver" String UpdateUsenameValue,UpdateKeyIDValue,UpdateUrlinforValue String UpdateOrderString Scanner EntryValue=new Scanner(System.in) try{ Class.forName(UpdateDriver) Connection conn=DriverManager.getConnection(UrlinforValue, UseNameValue, KeyIDValue); if(!conn.isClosed()) { int UpdateRecordValue Statement statement=conn.createStatement() System.out.println("请选择操作类型:1、按姓名修改 2、按密码修改 3、按网址修改(暂时提供修改密码功能)") UpdateRecordValue=EntryValue.nextInt() switch(UpdateRecordValue){ case 1: String SetKeyIDValue System.out.println("请输入要修改密码的用户名:") UpdateUsenameValue=EntryValue.next() System.out.println("请输入新的密码:") SetKeyIDValue=EntryValue.next() UpdateOrderString="update urlinformation set keyid='"+SetKeyIDValue+"' where usename='"+Upd ateUsenameValue+"'" statement.executeUpdate(UpdateOrderString) System.out.println("数据更新完成!!") break case 2: break case 3: break default: System.out.println("输入非法字符!") } } }catch(ClassNotFoundException e){ //TODO自动生成catch块 e.printStackTrace() }catch(SQLException e){ //TODO自动生成catch块 e.printStackTrace() } } / the Program is to delete the database!!! */ public void Mysql_ConnectExecute_Delete(String UseNameValue,String KeyIDValue,String UrlinforValue) { String DeleteDriver="com.mysql.jdbc.Driver" String DeleteUseNameValue,DeleteKeyIDValue,DeleteUrlinforValue String DeleteRecordString Scanner EntryValue=new Scanner(System.in) try{ Class.forName(DeleteDriver) Connection conn=DriverManager.getConnection(UrlinforValue,UseNameValue,KeyIDValue) if(!conn.isClosed()) { int DeleteSelectValue Statement statement=conn.createStatement() System.out.println("请选择操作类型:1、按姓名删除 2、按密码删除 3、按网址删除") DeleteSelectValue=EntryValue.nextInt() switch(DeleteSelectValue){ case 1: System.out.println("请输入要删除的用户名:") DeleteUseNameValue=EntryValue.next() DeleteRecordString="delete from urlinformation where usename='"+DeleteUseNameValue+"'" statement.executeUpdate(DeleteRecordString) break case 2: System.out.println("请输入要删除的密码:") DeleteKeyIDValue=EntryValue.next() DeleteRecordString="delete from urlinformation where keyid='"+DeleteKeyIDValue+"'" statement.executeUpdate(DeleteRecordString) break case 3: System.out.println("请输入要删除的网址:") DeleteUrlinforValue=EntryValue.next() DeleteRecordString="delete from urlinformation where urlinfor='"+DeleteUrlinforValue+"'" statement.executeUpdate(DeleteRecordString) break default: System.out.println("输入非法字符!") } } }catch(ClassNotFoundException e){ // TODO 自动生成 catch 块 e.printStackTrace() }catch(SQLException e){ // TODO 自动生成 catch 块 e.printStackTrace() System.out.println("语句操作异常!!") } } }