導航:首頁 > 電影資訊 > java裡面如何存儲電影名稱過程

java裡面如何存儲電影名稱過程

發布時間:2021-06-06 04:42:50

❶ java裡面怎麼調用存儲過程

最近做一個自動發郵件的schele,由於取數據的sql太長,直接分割很麻煩,就想到調用PL/SQL,網上查了資料做了練習,在此做下小結。
1、只有輸入參數而沒有返回結果的存儲過程。
sql:
1 create or replace procere prc_1(deptno in number,dname in varchar2,loc in varchar2)
2 is
3 begin
4 insert into dept values(deptno,dname,loc);
5 end prc_1;

java:

1 static void test1(){
2 Connection conn=null;
3 CallableStatement csmt=null;
4 try {
5 conn=JDBCUtils.getConnection();
6 conn.setAutoCommit(false);
7 csmt=conn.prepareCall("call prc_1(?,?,?)");
8 csmt.setInt(1,80);
9 csmt.setString(2,"ioc");
10 csmt.setString(3,"fhp");
11 csmt.execute();
12 conn.commit();
13 System.out.println("success insert data");
14 } catch (SQLException e) {
15 e.printStackTrace();
16 }
17 }

2、有輸入參數且有一個返回值的存儲過程。
sql:
1 create or replace procere prc_2(p_deptno in number,p_loc out varchar2) is
2 begin
3 select loc into p_loc from dept where deptno=p_deptno;
4 end prc_2;

java:

1 static void test2(){
2 Connection conn=null;
3 CallableStatement csmt=null;
4 try {
5 conn=JDBCUtils.getConnection();
6 conn.setAutoCommit(false);
7 csmt=conn.prepareCall("call prc_2(?,?)");
8 csmt.setInt(1,70);
9 csmt.registerOutParameter(2,Types.VARCHAR);
10 csmt.execute();
11 conn.commit();
12 System.out.println("MIS位置:"+csmt.getString(2));
13 } catch (SQLException e) {
14 e.printStackTrace();
15 }
16 }

3、返回多行記錄(游標)的存儲過程。
sql:
首先要建立一個返回遊標,以便接收返回結果。

1 create or replace package testpackage is
2 type test_cursor is ref cursor;
3 end testpackage;
4
5 create or replace procere prc_3(p_cursor out testpackage.test_cursor)is
6 begin
7 open p_cursor for
8 select * from dept order by deptno;
9 end prc_3;

java:

1 static void test3(){
2 Connection conn=null;
3 CallableStatement csmt=null;
4 ResultSet rs=null;
5 try {
6 conn=JDBCUtils.getConnection();
7 conn.setAutoCommit(false);
8 csmt=conn.prepareCall("call prc_3(?)");
9 csmt.registerOutParameter(1,oracle.jdbc.OracleTypes.CURSOR);
10 csmt.execute();
11 rs=(ResultSet) csmt.getObject(1);
12 while(rs.next()){
13 System.out.println(rs.getString("deptno")+'\t'+rs.getString("dname")+'\t'+rs.getString("loc"));
14 }
15 } catch (SQLException e) {
16 // TODO Auto-generated catch block
17 e.printStackTrace();
18 }finally{
19 JDBCUtils.free(rs, csmt, conn);
20 }
21 }

❷ java一個類在內存中是如何存儲的

關於您提出的問題,網路也有過這樣的回答了.那麼java的類定義完了之後在哪裡呢.當然一般一個類,當你沒有new的時候,也就是說並沒有在內存中分配地址,所以就像你說的無處存

❸ java中如何調用資料庫的存儲過程

Java調用存儲過程的方法是通過調用Connection的實例方法prepareCall,prepareCall方法返回CallableStatement對象用於填充存儲過程的參數。prepareCall方法形參是調用存儲過程的sql語句,此參數的語法格式如下:

{callstoredProcereName(parameter-list)}

其中,storedProcereName是存儲過程名稱,parameter-list是存儲過程參數列表。

例如,存儲過程名為usp_test,有兩個輸入參數a,b。則調用代碼看起來如下所示:

=connection.prepareCall("{callusp_test(?,?)}");
callableStatement.setObject("a","value-1");
callableStatement.setObject("b","value-2");
callableStatement.execute();

❹ java程序中怎樣用文件存儲數據

對於一些小文件,我們可以一次性讀取它的所有位元組,然後一次提交到資料庫
///
/// 這個方法演示了如何一次提交所有的位元組。這樣導致的結果是:應用程序立即需要申請等同於文件大小的內存
static void SubmitFileByOnce() {
string file = @"F:\功夫熊貓.rmvb";//文件大小為519MB
byte[] buffer = File.ReadAllBytes(file);
using (SqlConnection conn = new SqlConnection("server=(local);database=demo;integrated security=true")) {
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "INSERT INTO Files(FileName,FileContents) VALUES(@fileName,@fileContents)";
cmd.Parameters.AddRange(
new[]
{
new SqlParameter("@fileName",file),
new SqlParameter("@fileContents",buffer)
});
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
}
}

但是,上面的方法有幾個問題,主要體現在如果文件比較大的話
它需要一次性很大的內存,具體數據等同於文件大小。因為File.ReadAllBytes方法是將所有位元組全部讀入到內存。
它會導致提交失敗,就是因為數據太大了。資料庫也會拒絕。
那麼,我就對這個方法做了一下改進,將文件拆分為5MB一段,也就是說,此時每次申請的內存只有5MB。這就大大地提高了可用性。
/// 這個方法是將文件切分為5MB的塊,每次只是提交5MB,所以可能多次提交,但內存佔用就比較小
static void SubmitFileStepByStep() {
string file = @"F:\功夫熊貓.rmvb";//以這個文件為例,大小為519MB,一共需要的時間大約94秒。還是有點慢的,所以還可能需要進行壓縮
FileStream fs = new FileStream(file, FileMode.Open);

byte[] buffer = new byte[5 * 1024 * 1024];
int readCount;
using (SqlConnection conn = new SqlConnection("server=(local);database=demo;integrated security=true"))
{
conn.Open();

while ((readCount = fs.Read(buffer, 0, buffer.Length)) > 0)
{

using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "INSERT INTO Files(FileName,FileContents) VALUES(@fileName,@fileContents)";
cmd.Parameters.AddRange(
new[]
{
new SqlParameter("@fileName",file),
new SqlParameter("@fileContents",buffer)
});

cmd.ExecuteNonQuery();
}

}
conn.Close();

}
}

這樣的話,有一個後果就是一個文件,可能在資料庫中會有多條記錄。所以在讀取的時候,我們需要對其進行合並
static void DownloadFile() {
string file = @"F:\功夫熊貓.rmvb";
string destfile = @"E:\Temp\Temp.wmv";
using (SqlConnection conn = new SqlConnection("server=(local);database=demo;integrated security=true"))
{
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "SELECT FileContents FROM Files WHERE FileName=@fileName";
cmd.Parameters.AddRange(
new[]
{
new SqlParameter("@fileName",file),
});
conn.Open();
SqlDataReader reader = cmd.ExecuteReader();
FileStream fs = new FileStream(destfile, FileMode.Append, FileAccess.Write);

while (reader.Read())
{
byte[] buffer = (byte[])reader[0];
fs.Write(buffer, 0, buffer.Length);
}
fs.Close();
reader.Close();
conn.Close();
}
}
}

❺ java中一個類的方法是怎麼存儲的

java內存分析:
都是將內存分為三塊
第一塊內存區域是:棧
第二塊內存區域是:堆
第三塊內存區域是:方法區
棧空間里裝的都是局部變數
堆空間里裝的都是new出來的東西,特殊的對象 (非static修飾的全局變數是特殊的對象,在堆內存區域內)
方法區里裝的都是基本類型常量和字元串常量、static修飾的全局變數、代碼

❻ 用java調用了豆瓣api後,怎麼講獲得的數據存儲到資料庫中

首先,不管你用何種語言,對於api它總是依賴一個協議(http)
通過情況下,都會搭建一個webservice,暴露一些介面供他人調用
wenservice經常是跨平台(語言)、跨資料庫,所以你用何種語言都可以

以java為例,對於api所提供的介面,你想如何存儲介面返回的數據,
首先要弄清楚介面返回的數據格式
通常有xml、json、jsonp等
然後你進行解析,然後按照你創建表進行保存
或許更簡單一點,他們的api會提供幾個jar包,直接調用function,即可得到你想的數據

一般對於開放的第三方介面都有文檔提供,你可以搜搜

❼ JAVA怎麼用IO流保存一部電影

其實原理就是下載電影文件內容至一個IO流中,流最終是可以保存為文件的。

❽ 在java類中如何實現信息的存儲


package com.ctx0331;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

/**
* 實現文件的讀取和寫入
*
* @author Administrator
*
*/
public class FileUtil {

public static void main(String[] args) throws IOException {

byte[] datafile = loadFileData("./tempdata/abc.txt");
System.out.println(new String(datafile));

String str = "寫入文件";
String outpath = "./tempdata/out.txt";
saveDataToFile(outpath, str.getBytes());
}

/**
* 讀取指定路徑的文件內容
*
* @param fileName
* @return data
* @throws IOException
*/
public static byte[] loadFileData(String fileName) throws IOException {
byte[] data = new byte[1024];// 用於存儲讀取的文件內容
File file = new File(fileName);
if (file.exists()) {
FileInputStream fis = new FileInputStream(file);
fis.read(data);
fis.close();
} else {
System.out.println("文件不存在");
}
return data;
}

/**
* 向指定路徑的文件寫入data中的內容
*
* @param fileName
* @param data
* @throws IOException
*/
public static void saveDataToFile(String fileName, byte[] data)
throws IOException {
File file = new File(fileName);
if (!file.exists()) {// 文件不存在就創建
file.createNewFile();
}
FileOutputStream fos = new FileOutputStream(file);
fos.write(data);
fos.close();
}
}

❾ java中數據在內存中是如何存儲的

堆:首先堆是動態分配的,JVM並不會自動釋放這部分內存。只用等待系統的gc來進行內存回收。
棧:是在類載入中有系統靜態分配的,而且分配時按照內存的高低地址分配。這部分內存系統會自動進行釋放。

❿ Java中是如何調用存儲過程的(詳細代碼)

//存儲過程create or replace Procere countBySal(
p_sal emp.sal%type,
p_count OUT number
)as
begin
select count(*) into p_count from emp where sal >= p_sql;
end countBySal; //調用步奏import java.sql.CallableStatement; //帶哦用存儲過程所必須的語句借口
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Types;public class EmpUtil {

public static int countBySal(double sal) throws Exception{
Class.forName("oracle.jdbc.driver.OracleDriver");
String url="jdbc:oracle:thin:@localhost:1521:test";
Connection cn=DriverManager.getConnection(url, "scott", "tiger");
String sql="{call countBySal(?,?)}";//調用存儲過程的語句,call後面的就是存儲過程名和需要傳入的參數
CallableStatement cst=cn.prepareCall(sql);
cst.setDouble(1, sal);//設置in參數的值
cst.registerOutParameter(2, Types.INTEGER);//注冊out參數的類型
cst.execute();
int result = cst.getInt(2);
cst.close();
cn.close();
return result;
}

public static void main(String[] args) {
int count;
try {
count = EmpUtil.countBySal(3000);
System.out.println("工資在3000元以上的人數為:"+count);
} catch (Exception e) {
e.printStackTrace();
}

}

}

閱讀全文

與java裡面如何存儲電影名稱過程相關的資料

熱點內容
大衛芬奇哪些電影 瀏覽:508
關於青春期校園的電影有哪些方面 瀏覽:782
英雄無淚1986在線電影免費觀看 瀏覽:666
優酷上傳電影怎麼上傳出錯 瀏覽:558
電影開場倒計時免費下載 瀏覽:743
情慾九歌類似的電影有哪些 瀏覽:717
有什麼軟體看電影不需要錢 瀏覽:766
一隻狗的回家的路電影免費觀看 瀏覽:174
電影下載的格式怎麼弄 瀏覽:246
我的爸爸是棋王電影免費觀看 瀏覽:91
一戰時期的空戰電影有哪些 瀏覽:743
什麼電影適合跟情侶一起看的 瀏覽:689
近期關於監獄的美國電影有哪些 瀏覽:666
有哪些國產槍戰的電影 瀏覽:992
奔跑吧兄弟電影版有哪些人 瀏覽:374
電影九首歌寫的什麼 瀏覽:338
怎麼下電影可以在別的地方看 瀏覽:134
中國女人外國電影有哪些 瀏覽:710
好看的電影特戰 瀏覽:565
名村是什麼電影 瀏覽:587