如何从数据库中获取用于JSFbean构造函数的值?

如何从数据库中获取用于JSFbean构造函数的值?,jsf,jpa,Jsf,Jpa,我正试图开发一个谷歌地图应用程序,从数据库中获取纬度和经度。我遵循了一个类似的教程,但它使用静态坐标 如何使用JPA从mysql数据库读取值并解析到构造函数 例如,在下面的代码中,coord3是常量,但应该来自数据库。 如果这看起来很明显,请原谅我。我对用java编写代码相当陌生 package com.track.mobile; /* Skipped a bunch of standard imports */ import org.primefaces.model

我正试图开发一个谷歌地图应用程序,从数据库中获取纬度和经度。我遵循了一个类似的教程,但它使用静态坐标

如何使用JPA从mysql数据库读取值并解析到构造函数

例如,在下面的代码中,
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错误)。