如何从数据库中获取用于JSFbean构造函数的值?
我正试图开发一个谷歌地图应用程序,从数据库中获取纬度和经度。我遵循了一个类似的教程,但它使用静态坐标 如何使用JPA从mysql数据库读取值并解析到构造函数 例如,在下面的代码中,如何从数据库中获取用于JSFbean构造函数的值?,jsf,jpa,Jsf,Jpa,我正试图开发一个谷歌地图应用程序,从数据库中获取纬度和经度。我遵循了一个类似的教程,但它使用静态坐标 如何使用JPA从mysql数据库读取值并解析到构造函数 例如,在下面的代码中,coord3是常量,但应该来自数据库。 如果这看起来很明显,请原谅我。我对用java编写代码相当陌生 package com.track.mobile; /* Skipped a bunch of standard imports */ import org.primefaces.model
coord3
是常量,但应该来自数据库。
如果这看起来很明显,请原谅我。我对用java编写代码相当陌生
package com.track.mobile;
/* Skipped a bunch of standard imports */
import org.primefaces.model.map.Circle;
import org.primefaces.model.map.DefaultMapModel;
import org.primefaces.model.map.LatLng;
import org.primefaces.model.map.MapModel;
import org.primefaces.model.map.Marker;
import org.primefaces.model.map.Polyline;
@ManagedBean
@RequestScoped
public class MapBean implements Serializable{
private final double DISTANCE_NM = 2800; //Nautical Miles
private final double DISTANCE_METERS = DISTANCE_NM*1852; //Meters
private String centerCoords = "6.920833,103.578611";
private final MapModel mapModel;
public MapBean() {
mapModel = new DefaultMapModel();
// Draw circle
//3.1357 N,101.6880 E
LatLng coord1 = new LatLng(6.920833, 103.578611);
Circle circle1 = new Circle(coord1, DISTANCE_METERS);
circle1.setStrokeColor("#FFFF66");
circle1.setFillColor("#FFFF66");
circle1.setFillOpacity(0.2);
mapModel.addOverlay(circle1);
// Airport Coordinates
LatLng coord2 = new LatLng(3.1357, 101.6880);
mapModel.addOverlay(new Marker(coord2));
// TODO Read Last known position from Database
**List<Points> itemList1 = emf.createEntityManager().
createNamedQuery("Points.findAll").getResultList();
//Iterator i = itemList.iterator();
// count records
int cnt = itemList1.size();
//
Points item1 = itemList1.get(0);
//
lat3 = Long.getLong(item1.getLatitude().toString());
lon3 = Long.getLong(item1.getLongitude().toString());
//**
LatLng coord3 = new LatLng(6.920833, 103.578611);
mapModel.addOverlay(new Marker(coord3));
// flight Path
Polyline polyline = new Polyline();
polyline.getPaths().add(coord2);
polyline.getPaths().add(coord3);
polyline.setStrokeWeight(5);
polyline.setStrokeColor("660066");
polyline.setStrokeOpacity(0.7);
mapModel.addOverlay(polyline);
}
public String getCenterCoords() {
return centerCoords;
}
public MapModel getMapModel() {
return mapModel;
}
}
package com.track.mobile;
/*跳过了一系列标准导入*/
导入org.primefaces.model.map.Circle;
导入org.primefaces.model.map.DefaultMapModel;
导入org.primefaces.model.map.LatLng;
导入org.primefaces.model.map.MapModel;
导入org.primefaces.model.map.Marker;
导入org.primefaces.model.map.Polyline;
@ManagedBean
@请求范围
公共类MapBean实现了可序列化{
私人最终双倍距离=2800;//海里
私人最终双距离\u米=距离\u纳米*1852;//米
专用字符串centerCoords=“6.920833103.578611”;
私有最终MapModel MapModel;
公共MapBean(){
mapModel=新的DefaultMapModel();
//画圈
//北纬3.1357度,东经101.6880度
LatLng coord1=新LatLng(6.920833103.578611);
圆圈1=新的圆圈(坐标1,距离μm);
圆圈1.设置行程颜色(“FFFF66”);
圆圈1.设置填充颜色(“FFFF66”);
圆圈1.setFillOpacity(0.2);
mapModel.addOverlay(圆圈1);
//机场坐标
LatLng coord2=新LatLng(3.1357101.6880);
addOverlay(新标记(coord2));
//TODO从数据库中读取最后一个已知位置
**List itemList1=emf.createEntityManager()。
createNamedQuery(“Points.findAll”).getResultList();
//迭代器i=itemList.Iterator();
//清点记录
int cnt=itemList1.size();
//
Points item1=itemList1.get(0);
//
lat3=Long.getLong(item1.getLatitude().toString());
lon3=Long.getLong(item1.getLongitude().toString());
//**
LatLng coord3=新LatLng(6.920833103.578611);
addOverlay(新标记(coord3));
//飞行路线
多段线多段线=新多段线();
polyline.getpath().add(coord2);
polyline.getpath().add(coord3);
多段线。设定行程重量(5);
多段线。设置行程颜色(“660066”);
多段线。设定行程不透明度(0.7);
mapModel.addOverlay(多段线);
}
公共字符串getCenterCoords(){
返回中心坐标;
}
公共映射模型getMapModel(){
返回映射模型;
}
}
您是否尝试过JPA教程?你知道什么是EntityManager
以及如何得到它吗?是的,但现在我在JPA代码的第1行得到了空指针异常。你的代码不完整,因为emf
没有定义(假设那些额外的**
是c&p错误)。