RESTful+MySQL程序安装讲义
admin
2023-05-19 18:22:18
0

本文主要给大家介绍RESTful+MySQL程序安装讲义,希望可以给大家补充和更新些知识,如有其它问题需要了解的可以持续在行业资讯里面关注我的更新文章的。    

准备工作

1、安装mysql

2、安装mysql可视化工具Navicat。(由于本人偏好,所以暂时用这个可视化工具)。

3、Intellij安装mysql jdbc驱动。

4、GlassFish中加入mysql jdbc驱动。

RESTful+MySQL程序安装讲义

 

安装启动mysql

1、下载地址https://www.mysql.com/downloads/ (虽然你可以搜到很多下载的渠道,但是建议在官方下载,你懂的)。

2、根据提示进行安装配置。(这不是重点,不清楚的自己google)。

3、如果出现安装不上那应该是系统权限问题,采用系统管理员权限安装就可以了。(我在win10下进行安装遇到了权限问题)。

4、启动mysql服务。

5、加入测试数据。数据库我们命名成RESTful,加一个表Product,里面包括4个字段:id、name、cover、price。具体如图:

RESTful+MySQL程序安装讲义

为了方便测试就先加了一条记录。

 

安装Navicat

我们用Navicat进行可视化操作,当然你可以直接在mysql提供的工具或命令行进行数据操作。

1、下载地址https://www.navicat.com/download,至于是否付费或者破解就看你自己了,你懂的。

2、根据提示进行安装。

 

Intellij安装mysql jdbc驱动

1、Intellij在主菜单中选择View|Tool Windows|Databases

RESTful+MySQL程序安装讲义

2、右边弹出Database栏目,选择上面的“+”,依次选择DataSource|MySQL,此时弹出一个Data Source and Drive的对话框。

RESTful+MySQL程序安装讲义

 

RESTful+MySQL程序安装讲义

3、点击左上方+”,选择MySQL。根据提示填写右边的字段。

RESTful+MySQL程序安装讲义

4、点击右边面板的DriverMySQL,下载MySQL驱动。

 

GlassFish中加入mysql jdbc驱动。

1、mysql的驱动(egmysql-connector-java-5.1.35-bin.jar)放入..\glassfish5\glassfish\lib (具体参考你的GlassFish的安装目录)。

 

编码

1、加入mysql驱动jar包。

2、目录结构如下:

RESTful+MySQL程序安装讲义

3、目录结构介绍。bo里面是实体类,dao是数据库相关的操作类(为了方便理解流程所以不涉及ORM之类的东西)。下面来看看每个类的具体情况:

BoProduct.java

RESTful+MySQL程序安装讲义

package bo;/**
 * Created by Administrator on 2017/2/19 0019. */public class BoProduct {    private int id;    private String name;    private String cover;    private long price;    public BoProduct(int id, String name, String cover, long price) {        this.id = id;        this.name = name;        this.cover = cover;        this.price = price;
    }    public int getId() {        return id;
    }    public void setId(int id) {        this.id = id;
    }    public String getName() {        return name;
    }    public void setName(String name) {        this.name = name;
    }    public String getCover() {        return cover;
    }    public void setCover(String cover) {        this.cover = cover;
    }    public long getPrice() {        return price;
    }    public void setPrice(long price) {        this.price = price;
    }

    @Override    public String toString() {        return "BoProduct{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", cover='" + cover + '\'' +
                ", price=" + price +
                '}';
    }
}

RESTful+MySQL程序安装讲义

 

DbConnection.java

RESTful+MySQL程序安装讲义

package dao;/**
 * Created by Administrator on 2017/2/19 0019. */import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class DbConnection {    public Connection getConnection() throws Exception {        try {
            String connectionURL = "jdbc:mysql://localhost:3306/RESTful";
            Connection connection = null;
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            connection = DriverManager.getConnection(connectionURL, "root", "root");            return connection;
        } catch (SQLException e) {
            e.printStackTrace();            throw e;
        } catch (Exception e) {
            e.printStackTrace();            throw e;
        }
    }
}

RESTful+MySQL程序安装讲义

 

DbProductManager.java

RESTful+MySQL程序安装讲义

package dao;import bo.BoProduct;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.ArrayList;import java.util.List;/**
 * Created by Administrator on 2017/2/19 0019. */public class DbProductManager {    public List getAllProduct() {
        List reuslt = null;
        DbConnection database = new DbConnection();
        Connection connection = null;        try {
            connection = database.getConnection();
            PreparedStatement ps = connection
                    .prepareStatement("SELECT * FROM product");
            ResultSet rs = ps.executeQuery();
            reuslt = new ArrayList<>();            while (rs.next()) {
                BoProduct item = new BoProduct(rs.getInt("id"),rs.getString("name"),rs.getString("cover"),rs.getLong("price"));
                reuslt.add(item);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }        return reuslt;
    }
}

RESTful+MySQL程序安装讲义

 

HelloWorld.java

RESTful+MySQL程序安装讲义

import bo.BoProduct;import dao.DbProductManager;import javax.ws.rs.GET;import javax.ws.rs.Path;import javax.ws.rs.Produces;import javax.ws.rs.core.MediaType;import java.util.List;/**
 * Created by Administrator on 2017/2/18 0018. */@Path("/helloworld")public class HelloWorld {
    @GET
    @Produces(MediaType.TEXT_PLAIN)    public String getClichedMessage() {
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.append("data being\n");
        DbProductManager dbProductManager = new DbProductManager();
        List allProduct = dbProductManager.getAllProduct();        if (null != allProduct && !allProduct.isEmpty()) {            for (BoProduct item : allProduct) {
                stringBuilder.append(item.toString()).append("\n");
            }
        }
        stringBuilder.append("data end\n");        return stringBuilder.toString();
    }
}

RESTful+MySQL程序安装讲义

 

MyApplication

RESTful+MySQL程序安装讲义

import javax.ws.rs.ApplicationPath;import javax.ws.rs.core.Application;import java.util.HashSet;import java.util.Set;/**
 * Created by Administrator on 2017/2/18 0018. *///Defines the base URI for all resource URIs.@ApplicationPath("/")//The java class declares root resource and provider classespublic class MyApplication extends Application {    //The method returns a non-empty collection with classes, that must be included in the published JAX-RS application    @Override    public Set> getClasses() {
        HashSet h = new HashSet>();
        h.add(HelloWorld.class);        return h;
    }
}

RESTful+MySQL程序安装讲义

运行程序

1、点击运行按钮。

RESTful+MySQL程序安装讲义

2、此时IDE为你做了一些你并不需要关系的事情(非业务的):编译并部署到云服务器,启动浏览器。

3、此时看到浏览器如下显示则说明你成功了。

RESTful+MySQL程序安装讲义

看了以上关于RESTful+MySQL程序安装讲义,希望能给大家在实际运用中带来一定的帮助。本文由于篇幅有限,难免会有不足和需要补充的地方,如有需要更加专业的解答,可在官网联系我们的24小时售前售后,随时帮您解答问题的。

 

 


相关内容

热门资讯

德国马普学会主席:顶尖科学家功... 【文/观察者网 熊超然】香港《南华早报》5月17日报道指出,随着美国遭遇人才流失,地缘政治的迅速变化...
连续10年被拒还要硬蹭WHA?... 第七十九届世界卫生大会(WHA)将于5月18日至23日在瑞士日内瓦举行,不出所料,民进党当局再吃“闭...
新一轮药品集采拉开序幕,个别品... 作者:郭晋晖第十一批国家药品集中带量采购(下称“集采”)落地仅两个多月,随着信息预填报工作的启动,第...
执政不到两年,斯塔默遭“逼宫”... 2026年5月,英国政坛风暴再起。距离工党重返唐宁街不到两年,英国首相斯塔默迎来的不是执政稳定期,而...
出现20例死亡!重磅新药被启动... 当地时间 5 月 15 日,明星药 Tavneos® 在日本地区的独家许可方 Kissei ...
全国防灾减灾宣传周丨今年最大范... 中央气象台预报,5月15日至19日,我国中东部地区有一次大范围降雨过程,南北多地有中到大雨,部分地区...
油烟机灯不够亮是什么原因 油烟机是现代厨房中常见的家电,其主要功能是在烹饪时除去厨房内产生的油烟和异味,确保厨房空气的清新。油...
漏电开关一打雷就跳闸 原因可能是打雷的时候供电源附近的电流瞬间增大,导致电路跳闸,可以在打雷的时候关闭大功率电器解决;原因...
灯关了还有微亮是怎么回事 灯关了还有微亮可能是以下原因导致的:1. 开关控制了零线:火线直接进灯具,零线进开关,当开关断开时,...
灯线火线零线怎么分别 灯线火线零线的区分方法如下:1. 颜色区分:一般来说,火线(L)的颜色为红色或棕色,零线(N)的颜色...