SpringBoot+Hibernate+JPA实现百度地图定位实例

小编是使用SpringBoot+JPA+实现一个百度地图定位

第一步:创建SpringBoot项目:

第二步导入依赖:
  数据库驱动包:
  <dependencies>
	    <dependency>
	        <groupId>org.springframework.boot</groupId>
	        <artifactId>spring-boot-starter-data-jpa</artifactId>
	    </dependency>
	    <dependency>
	        <groupId>org.springframework.boot</groupId>
	        <artifactId>spring-boot-starter-thymeleaf</artifactId>
	    </dependency>
	    <dependency>
	        <groupId>org.springframework.boot</groupId>
	        <artifactId>spring-boot-starter-web</artifactId>
	    </dependency>

	    <dependency>
	        <groupId>mysql</groupId>
	        <artifactId>mysql-connector-java</artifactId>
	        <scope>runtime</scope>
	        <version>5.1.47</version>
	    </dependency>
	    <dependency>
	        <groupId>org.springframework.boot</groupId>
	        <artifactId>spring-boot-starter-test</artifactId>
	        <scope>test</scope>
	    </dependency>
	    <dependency>
	        <groupId>com.vaadin.external.google</groupId>
	        <artifactId>android-json</artifactId>
	        <version>RELEASE</version>
	        <scope>compile</scope>
	    </dependency>
	</dependencies>
创建实体类:
@Entity    //JPA语法告诉软件这是个实体类
@Table(name = "gonghuoshang")  //对应数据库表名
public class Gonghuoshang implements Serializable {
    @Id//主键id
    @GeneratedValue(strategy = GenerationType.IDENTITY) //我使用mysql数据库所有带自增
    private Integer id;
    @Column(name = "Name") //对应数据库表中的列名
    private String name;
    @Column(name = "Phone")
    private String phone;
    @Column(name = "Address")
    private String address;
    @Column(name = "JinYong")
    private String JinYong;
    @Column(name = "MoRen")
    private String moRen;
创建Dao

在这里插入图片描述

继承上面类

在这里插入图片描述

Dao创建完成之后–创建业务逻辑层:

在这里插入图片描述

实现业务逻辑层,下面是常用的增删查改
@Service 
public class ShangPin_Serviceimpl implements ShangPin_Service {
    @Autowired  //自动装配
    private BrandRepository brandRepository;
   /**
   * 查询全部
   */
    public List<Gonghuoshang> getAll() {
        return brandRepository.findAll();   //不用自己写selec语法,框架自动完成语法findAll()查询全部方法
    }

    /**
   * 查询单条全部
   */

    public Gonghuoshang getByid(Integer id) {
        return brandRepository.findById(id).get();  //框架自带语法findById()根据id查询方法
    }

       /**
   * 新增
   */

    public void sava(Gonghuoshang gonghuoshang) {
        brandRepository.save(gonghuoshang);   //框架自带语法findById()根据新增方法
   }
创建controller控制器:

在这里插入图片描述

页面使用bootstrapTable表格请求数据:

引入css,js

引入Css,Js包   
    <link rel="stylesheet" th:href="@{/static/bootstrap-table/bootstrap.min.css}">    
    <link rel="stylesheet" th:href="@{/static/bootstrap-table/bootstrap-table.min.css}">    
    <script th:src="@{/static/bootstrap-table/jquery.min.js}"></script>     
    <script th:src="@{/static/bootstrap-table/bootstrap.min.js}"></script>     
    <script th:src="@{/static/bootstrap-table/bootstrap-table.min.js}"></script>     
    <script th:src="@{/static/bootstrap-table/locale/bootstrap-table-zh-CN.min.js}"></script>     
     <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script>
     http://lbsyun.baidu.com/jsdemo.htm#a1_2 //这是百度实例官网
静态资源:

在这里插入图片描述

编写js
<script>
    var $tables = $('#tables');
    $(function () {
        $tables.bootstrapTable({
            classes:'table table-bordered table-hover',
            striped:true,
            columns:[
                {
                    checkbox:true,
                },{
                    title:'主键/编号',
                    field:'id',
                    align:'center'
                },{
                    title:'名字',
                    field:'name',
                    align:'center'
                },{
                    title:'手机号',
                    field:'phone',
                    align:'center'
                },{
                    title:'地址',
                    field:'address',
                    align:'center'
                },{
                    title:'状态',
                    field:'jinYong',
                    align:'center',
                },{
                    title:'默认',
                    field:'moRen',
                    align:'center'
                },{
                    title:'地址定位',
                    align:'center',
                    formatter:function(value,row,index){
                        return "<button class='btn btn-primary'data-toggle='modal' data-target='#myModal' onclick=dingwei('"+row.address+"'//row.address意思是:获得表格数据)><span class='glyphicon glyphicon-map-marker'></span>&nbsp;&nbsp;定位</button>";
                    }
                }

            ],
            url:'shangpin/table_list', //请求控制器路径
            method:'post',
            detailView:true,
            dataType:'json',
            idField:'id',
            contentType:'application/x-www-form-urlencoded',
            sidePagination:'server',
            pagination:true,
            pageSize:10,
            async:false,
            pageList:[1,2,5,10,20],
            pageNumber:1,
            toolbar:'#toolbar',//工具栏
        })
    });
function dingwei(address) { //接受数据
    // 百度地图API功能
    var map = new BMap.Map("allmap");    // 创建Map实例
    map.centerAndZoom(new BMap.Point(114.48269393,36.60930793));  // 初始化地图,设置中心点坐标和地图级别
    //添加地图类型控件
    map.addControl(new BMap.MapTypeControl({
        mapTypes:[
            BMAP_NORMAL_MAP,
            BMAP_HYBRID_MAP
        ]}));
    // map.setCurrentCity("北京");          // 设置地图显示的城市 此项是必须设置的
    map.enableScrollWheelZoom(true);     //开启鼠标滚轮缩放
    // 创建地址解析器实例
    var myGeo = new BMap.Geocoder();
    // 将地址解析结果显示在地图上,并调整地图视野
    myGeo.getPoint(address //传参到这里, function(point){
        if (point) {
            map.centerAndZoom(point, 16);
            map.addOverlay(new BMap.Marker(point));
        }else{
            alert("您选择地址没有解析到结果!");
        }
    }, "邯郸市");
}

</script>
效果展示:

在这里插入图片描述

这里提供一个简单的 Spring Boot + JPA + Hibernate 配置实例,步骤如下: 1. 在 `pom.xml` 中添加以下依赖: ```xml <!-- Spring Boot Starter --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <!-- Spring Boot Starter Data JPA --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <!-- Hibernate Entity Manager --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>5.4.32.Final</version> </dependency> <!-- MySQL Connector --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.26</version> </dependency> ``` 2. 在 `application.properties` 中配置数据源和 JPA 相关属性: ```properties # 数据源配置 spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8&useSSL=false spring.datasource.username=root spring.datasource.password=123456 # JPA 配置 spring.jpa.show-sql=true spring.jpa.hibernate.ddl-auto=update spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect ``` 3. 创建实体类,例如: ```java @Entity @Table(name = "user") public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(name = "name") private String name; @Column(name = "age") private Integer age; // 省略 getter 和 setter } ``` 4. 创建 Repository 接口,例如: ```java public interface UserRepository extends JpaRepository<User, Long> { List<User> findByName(String name); } ``` 5. 创建 Service 类,例如: ```java @Service public class UserService { @Autowired private UserRepository userRepository; public List<User> findByName(String name) { return userRepository.findByName(name); } public User save(User user) { return userRepository.save(user); } public void deleteById(Long id) { userRepository.deleteById(id); } } ``` 6. 创建 Controller 类,例如: ```java @RestController @RequestMapping("/user") public class UserController { @Autowired private UserService userService; @GetMapping("/{name}") public List<User> findByName(@PathVariable("name") String name) { return userService.findByName(name); } @PostMapping public User save(@RequestBody User user) { return userService.save(user); } @DeleteMapping("/{id}") public void deleteById(@PathVariable("id") Long id) { userService.deleteById(id); } } ``` 这样就完成了 Spring Boot + JPA + Hibernate 的配置和使用。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值