本文主要給大家介紹RESTful+MySQL程序安裝講義,希望可以給大家補(bǔ)充和更新些知識(shí),如有其它問題需要了解的可以持續(xù)在創(chuàng)新互聯(lián)行業(yè)資訊里面關(guān)注我的更新文章的。
10年積累的成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有林芝免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
準(zhǔn)備工作
1、安裝mysql。
2、安裝mysql可視化工具Navicat。(由于本人偏好,所以暫時(shí)用這個(gè)可視化工具)。
3、Intellij安裝mysql jdbc驅(qū)動(dòng)。
4、在GlassFish中加入mysql jdbc驅(qū)動(dòng)。
安裝啟動(dòng)mysql
1、下載地址https://www.mysql.com/downloads/ (雖然你可以搜到很多下載的渠道,但是建議在官方下載,你懂的)。
2、根據(jù)提示進(jìn)行安裝配置。(這不是重點(diǎn),不清楚的自己google)。
3、如果出現(xiàn)安裝不上那應(yīng)該是系統(tǒng)權(quán)限問題,采用系統(tǒng)管理員權(quán)限安裝就可以了。(我在win10下進(jìn)行安裝遇到了權(quán)限問題)。
4、啟動(dòng)mysql服務(wù)。
5、加入測(cè)試數(shù)據(jù)。數(shù)據(jù)庫我們命名成RESTful,加一個(gè)表Product,里面包括4個(gè)字段:id、name、cover、price。具體如圖:
為了方便測(cè)試就先加了一條記錄。
安裝Navicat
我們用Navicat進(jìn)行可視化操作,當(dāng)然你可以直接在mysql提供的工具或命令行進(jìn)行數(shù)據(jù)操作。
1、下載地址https://www.navicat.com/download,至于是否付費(fèi)或者破解就看你自己了,你懂的。
2、根據(jù)提示進(jìn)行安裝。
Intellij安裝mysql jdbc驅(qū)動(dòng)
1、在Intellij在主菜單中選擇View|Tool Windows|Databases。
2、右邊彈出Database欄目,選擇上面的“+”,依次選擇DataSource|MySQL,此時(shí)彈出一個(gè)Data Source and Drive的對(duì)話框。
3、點(diǎn)擊左上方“+”,選擇MySQL。根據(jù)提示填寫右邊的字段。
4、點(diǎn)擊右邊面板的Driver:MySQL,下載MySQL驅(qū)動(dòng)。
在GlassFish中加入mysql jdbc驅(qū)動(dòng)。
1、把mysql的驅(qū)動(dòng)(eg:mysql-connector-java-5.1.35-bin.jar)放入..\glassfish5\glassfish\lib (具體參考你的GlassFish的安裝目錄)。
編碼
1、加入mysql驅(qū)動(dòng)jar包。
2、目錄結(jié)構(gòu)如下:
3、目錄結(jié)構(gòu)介紹。bo里面是實(shí)體類,dao是數(shù)據(jù)庫相關(guān)的操作類(為了方便理解流程所以不涉及ORM之類的東西)。下面來看看每個(gè)類的具體情況:
BoProduct.java
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 + '}'; } }
DbConnection.java
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; } } }
DbProductManager.java
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<BoProduct> getAllProduct() { List<BoProduct> 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; } }
HelloWorld.java
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<BoProduct> 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(); } }
MyApplication
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<Class<?>> getClasses() { HashSet h = new HashSet<Class<?>>(); h.add(HelloWorld.class); return h; } }
運(yùn)行程序
1、點(diǎn)擊運(yùn)行按鈕。
2、此時(shí)IDE為你做了一些你并不需要關(guān)系的事情(非業(yè)務(wù)的):編譯并部署到云服務(wù)器,啟動(dòng)瀏覽器。
3、此時(shí)看到瀏覽器如下顯示則說明你成功了。
看了以上關(guān)于RESTful+MySQL程序安裝講義,希望能給大家在實(shí)際運(yùn)用中帶來一定的幫助。本文由于篇幅有限,難免會(huì)有不足和需要補(bǔ)充的地方,如有需要更加專業(yè)的解答,可在官網(wǎng)聯(lián)系我們的24小時(shí)售前售后,隨時(shí)幫您解答問題的。
網(wǎng)頁名稱:RESTful+MySQL程序安裝講義
新聞來源:http://chinadenli.net/article48/gioghp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計(jì)公司、微信小程序、網(wǎng)站內(nèi)鏈、自適應(yīng)網(wǎng)站、網(wǎng)站策劃、用戶體驗(yàn)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)