jsp连接MySQL操作GIS地图数据实现添加point的功能代码
2023-06-13 09:15:03 时间
index_map.jsp中的代码:
<%@pagelanguage="java"pageEncoding="utf-8"%>
<%@pagecontentType="text/html;charset=utf-8"%>
<%
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=utf-8");
%>
<html>
<head>
</head>
<body>
<formaction="insert_map.jsp"method="post">
ID:<inputtype="text"name="id"value="0"/>
名称:<inputtype="text"name="name"value="aaa"/></br>
电压等级:<inputtype="text"name="voltage_level"value="110kv"/>
经度:<inputtype="text"name="lon"value="121."/>
纬度:<inputtype="text"name="lat"value="28."/>
</br>
<inputtype="submit"value="提交"/>
</form>
</body>
</html>
insert_map.jsp的代码:
<%@pagelanguage="java"import="java.util.*,java.sql.*"pageEncoding="utf-8"%>
<%@pagecontentType="text/html;charset=utf-8"%>
<%
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=utf-8");
%>
<HTML>
<HEAD>
<TITLE>addmessageintotable</TITLE>
</HEAD>
<BODY>
<%
Stringid=request.getParameter("id");//从表单获得
Stringname=request.getParameter("name");//从表单获得
Stringvoltage_level=request.getParameter("voltage_level");//从表单获得
Stringlon=request.getParameter("lon");//从表单获得
Stringlat=request.getParameter("lat");//从表单获得
java.util.Datedate=newjava.util.Date();
Stringdatetime=newTimestamp(date.getTime()).toString();
try
{
/**连接数据库参数**/
StringdriverName="com.mysql.jdbc.Driver";//驱动名称
StringDBUser="root";//mysql用户名
StringDBPasswd="123456";//mysql密码
StringDBName="map_db";//数据库名
StringconnUrl="jdbc:mysql://localhost/"+DBName+"?user="+DBUser+"&password="+DBPasswd;
Class.forName(driverName).newInstance();
Connectionconn=DriverManager.getConnection(connUrl);
Statementstmt=conn.createStatement();
stmt.executeQuery("SETNAMESUTF8");
Stringinsert_sql="INSERTINTObiandianzhan_point_tbVALUES(""+id+"",""+name+"",""+voltage_level+"",GeometryFromText("POINT("+lon+""+lat+")"))";
Stringquery_sql="select*frombiandianzhan_point_tb";
try{
stmt.execute(insert_sql);
}catch(Exceptione){
e.printStackTrace();
}
try{
ResultSetrs=stmt.executeQuery(query_sql);
while(rs.next()){
%>
ID:<%=rs.getString("id")%></br>
名称:<%=rs.getString("name")%></br>
电压等级:<%=rs.getString("voltage_level")%></br>
经纬度:<%=rs.getString("the_geom")%></br></br>
<%
}
}catch(Exceptione){
e.printStackTrace();
}
//rs.close();
stmt.close();
conn.close();
}catch(Exceptione){
e.printStackTrace();
}
%>
</body>
</html>
访问index_map.jsp:
提交前数据库的值:
输入测试值并提交,得到如下页面:
数据库的变化如下:
可以看出,在上面的提交后的页面上经纬度是乱码的,原因是the_geom的数据类型是POINT类型,是几何数据类geometry类中的一个子类,有特定的格式,可能这种特定的格式没能被浏览器识别。我正在考虑的解决方案是将the_geom数据进行剥离,得到两个数值及经纬度。不过可能没这个必要,因为没必要显示这两个值。
总的来说,大功告成了一半吧,呵呵,今天收获很大啊!很开心!
相关文章
- navicat连接MySQL失败,cmd也不能登录MySQL_远程连接mysql
- Java连接MySQL:实现数据互通(java如何连接mysql)
- 统计MySQL每小时数据统计分析报告(mysql每小时的数据)
- MySQL 连接失效:如何解决自动断开问题?(mysql自动断开连接)
- 字符集MySQL使用LATIN1字符集的优势(mysql的latin1)
- MySQL的非主键自增机制(mysql非主键自增)
- Mac下快速连接MySQL数据库(mac链接mysql)
- MySQL激活性能:启用缓存(mysql开启缓存)
- MySQL与JavaWeb的无缝连接(mysql连接javaweb)
- MySQL驱动加载:优化数据库连接速度(mysql加载驱动)
- MySQL表结构合并:优化数据库性能的实用技巧(mysql表结构合并)
- 使用MSSQL连接MySQL数据库的技术实现(mssql连接mysql)
- MySQL管理:精通技巧,轻松下载(mysql管理之道下载)
- 数据库本地轻松连接阿里云MySQL数据库(本地连接阿里云mysql)
- 学习MySQL数据类型设置——让你的数据库更高效(mysql数据类型设置)
- 解决MySQL主从同步问题:寻找主从报错的根源与解决方案(mysql主从报错)
- 使用MySQL实现多表左外连接全攻略(mysql多表左外连接)
- MySQL索引:大小写问题(mysql 索引大小写)
- MySQL中回滚操作详解(mysql中什么是回滚)
- MySQL实现三表连接查询,高效查询数据(mysql中三表连接查询)
- C语言编写MySQL连接代码实现数据库交互(c 与mysql连接代码)
- C语言实现MySQL数据库连接的秘诀(c vs连接mysql)
- MySQL查询错误解决两表查询问题(mysql两表查询报错)
- 使用CAS与MySQL实现可靠连接(cas mysql连接)
- Windows下CMD命令行快速连接远程MySQL(cmd连接远端mysql)
- 令人侧目的神奇Bat脚本快速开启MySQL(bat脚本打开mysql)
- ADO如何连接MySQL数据库(ado怎么连接mysql)
- 无需停机,MySQL轻松实现数据分表管理(mysql 不停机分表)
- 教程如何在中国下载MySQL国内加速器(mysql下载国内镜像)
- MySQL连接错误无法连接到数据库(mysql不被允许连接)
- MySQL 用户创建失败,怎么办(mysql不能创建用户)