Java网络及数据开发.docx

上传人:b****5 文档编号:6059844 上传时间:2023-01-03 格式:DOCX 页数:16 大小:20.13KB
下载 相关 举报
Java网络及数据开发.docx_第1页
第1页 / 共16页
Java网络及数据开发.docx_第2页
第2页 / 共16页
Java网络及数据开发.docx_第3页
第3页 / 共16页
Java网络及数据开发.docx_第4页
第4页 / 共16页
Java网络及数据开发.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

Java网络及数据开发.docx

《Java网络及数据开发.docx》由会员分享,可在线阅读,更多相关《Java网络及数据开发.docx(16页珍藏版)》请在冰豆网上搜索。

Java网络及数据开发.docx

Java网络及数据开发

第一章

线程与线程的实现

一、线程概念和原理

软件:

文档与数据的集合(产品)项目

程序:

一序列的制定集合

进程:

是一个程序在其空间范围的一些资源调度和分配;

线程:

没有独立的运行空间和其它线程共享

二、线程调度

1、Thread(类)Runnable(接口)

2、线程入口方法:

Run();

3、进程入口方法:

main();

例子:

publicclassxianchengextendsThread{

Strings;

publicxiancheng(Strings){

this.s=s;

}

publicvoidrun(){

while(true){

System.out.println(Thread.currentThread().getName());

}

}

}

publicclassxiantest{

publicstaticvoidmain(String[]args){

xianchengxc=newxiancheng("wo");

xc.start();

while(true){

System.out.println("main:

"+Thread.currentThread().getName());

}

}

}

三、线程调度的实现

第一种:

继承Thread类

第二种:

实现Runnable接口

1、Thread类是线程类,它本身实现了Runnable接口,该类封装了线程的方法。

2、实现Runnable接口也可以实现线程的构造,此接口只有一个方法即run()方法,run()方法必须由实现了Runnable接口的类实现。

四、线程的常用方法

1、Start()启动一个线程;

2、run()定义该线程的动作;

例子:

publicclasscaiimplementsRunnable{

Strings;

publiccai(Strings){

this.s=s;

}

publicvoidrun(){

for(inti=0;i<10;i++){

System.out.println(s+i);

}

}

}

 

publicclasscaitest{

publicstaticvoidmain(String[]args){

Threadtj=newThread(newcai("tanji"));

Threadwby=newThread(newcai("wangbingyu"));

tj.start();

wby.start();

}

}

五、多线程求和

例子:

publicclassThreadsumextendsThread{

intfrom;

intto;

longsum;

publicThreadsum(intf,intt){

this.from=f;

this.to=t;

}

longgetsum(){

returnsum;

}

publicvoidrun(){

for(inti=from;i<=to;i++){

sum=sum+i;

}

}

}

 

publicclasstest{

publicstaticvoidmain(String[]args){

Threadsumts=newThreadsum(1,100);

ts.start();

longs=ts.getsum();

try{

ts.join();//等待ts线程执行完成

}catch(InterruptedExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

System.out.println(ts.isAlive());//ts线程还活着

System.out.println(s);

}

}

例子2:

publicclassxxextendsThread{

publicvoidrun(){

for(inti=0;i<=100;i++){

System.out.println(i);

try{

Thread.sleep(1000);

}catch(InterruptedExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

Thread.currentThread().getName();

}

}

}

 

publicclassxxtest{

publicstaticvoidmain(String[]args){

xxj=newxx();

j.start();

try{

j.join();

}catch(InterruptedExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

System.out.println(Thread.currentThread().getName());

}

}

六、优先级通过setpriority方法

数值(max_priority和min_priority(是10和1),norm_priority(5))

七、串口多线程(同步(synchronized:

确定某个时刻只有一个线程允许执行特定代码))

例子:

publicclassyyextendsThread{

staticObjectos=newObject();

Stringch;

publicyy(Stringch){

this.ch=ch;

}

voidprintchar(){

for(inti=1;i<=100;i++){

System.out.println(ch);

}

}

publicvoidrun(){

synchronized(os){

for(inti=1;i<=10;i++){

printchar();

}

}

}

}

 

publicclassyytest{

publicstaticvoidmain(String[]args){

yypa=newyy("a");

yypb=newyy("b");

pa.start();

pb.start();

}

}

第三章

JDBC数据库访问技术

一、JDBC的概念

1、JDBC是一种可用与执行sql语句的Javaapl

二、JDBC的任务

1Jdbc能完成下列三件事:

和某个数据建立连接

向数据库发送不sql语句

处理数据库返回的结果

2、statement接口

例子写入:

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.SQLException;

importjava.sql.Statement;

publicclasstest{

publicstaticvoidmain(String[]args){

Stringdriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";

Stringurl="jdbc:

microsoft:

sqlserver:

//127.0.0.1:

1433;databasename=us";

Stringuser="sa";

Stringpass="1992119";

Connectioncn=null;

Statementcmd=null;

Stringsql="insertintotevalues('sazi',19,'tongnan')";

try{

//加载驱动

Class.forName(driver);

//获取链接

cn=DriverManager.getConnection(url,user,pass);

//准备命令

cmd=cn.createStatement();

//执行命令

cmd.executeUpdate(sql);

}catch(Exceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}finally{

try{

cmd.close();

cn.close();

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

}

}

}

数据库的代码:

createdatabaseus

createtablete

snamevarchar(12),

sageint,

saddrvarchar(20)

select*fromte//查询数据是否写入成功

例子修改:

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.SQLException;

importjava.sql.Statement;

publicclasstest{

publicstaticvoidmain(String[]args){

Stringdriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";

Stringurl="jdbc:

microsoft:

sqlserver:

//127.0.0.1:

1433;databasename=us";

Stringuser="sa";

Stringpass="1992119";

Connectioncn=null;

Statementcmd=null;

Stringsql="updatetesetsage=100wheresage=19";

try{

//加载驱动

Class.forName(driver);

//获取链接

cn=DriverManager.getConnection(url,user,pass);

//准备命令

cmd=cn.createStatement();

//执行命令

cmd.executeUpdate(sql);

System.out.println("修改成功");

}catch(Exceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}finally{

try{

cmd.close();

cn.close();

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

}

}

}

数据库的代码与上面的相同;

例子删除:

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.SQLException;

importjava.sql.Statement;

publicclasstest{

publicstaticvoidmain(String[]args){

Stringdriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";

Stringurl="jdbc:

microsoft:

sqlserver:

//127.0.0.1:

1433;databasename=us";

Stringuser="sa";

Stringpass="1992119";

Connectioncn=null;

Statementcmd=null;

Stringsql="deletefromtewheresage=100";

try{

//加载驱动

Class.forName(driver);

//获取链接

cn=DriverManager.getConnection(url,user,pass);

//准备命令

cmd=cn.createStatement();

//执行命令

cmd.executeUpdate(sql);

System.out.println("删除成功");

}catch(Exceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}finally{

try{

cmd.close();

cn.close();

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

}

}

}

数据库不变

例子查询:

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.ResultSet;

importjava.sql.SQLException;

importjava.sql.Statement;

publicclasstest{

publicstaticvoidmain(String[]args){

Stringdriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";

Stringurl="jdbc:

microsoft:

sqlserver:

//127.0.0.1:

1433;databasename=us";

Stringuser="sa";

Stringpass="1992119";

Connectioncn=null;

Statementcmd=null;

ResultSetrs=null;

Stringsql="select*fromte";

try{

//加载驱动

Class.forName(driver);

//获取链接

cn=DriverManager.getConnection(url,user,pass);

//准备命令

cmd=cn.createStatement();

//执行命令

rs=cmd.executeQuery(sql);

//处理

while(rs.next()){

System.out.println("姓名:

"+rs.getString

(1));

System.out.println("年龄:

"+rs.getInt

(2));

System.out.println("地址:

"+rs.getString(3));

}

}catch(Exceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}finally{

try{

cmd.close();

cn.close();

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

}

}

}

封装了的例子:

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.SQLException;

importjava.sql.Statement;

/*

*操作数据库。

*连接

*executsql;

*/

publicclassSqlHelp{

staticStringdriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";

staticStringurl="jdbc:

microsoft:

sqlserver:

//127.0.0.1:

1433;databasename=stu";

staticStringuser="sa";

staticStringpass="";

staticStatementcmd=null;

/**

*得到一个连接

*@return返回连接好数据库的连接对象

*/

publicstaticConnectiongetConn()

{Connectioncn=null;

try{

Class.forName(driver);

cn=DriverManager.getConnection(url,user,pass);

}catch(Exceptione){

e.printStackTrace();

}

returncn;

}

/**

*@param要执行的sql语句insertupdatedelete

*@return影响的行数

*/

publicstaticintexeNoquery(Stringsql)

{

inti=0;

try{

cmd=getConn().createStatement();

i=cmd.executeUpdate(sql);

}catch(SQLExceptione){

e.printStackTrace();

}finally

{

try{

cmd.close();

}catch(SQLExceptione){

e.printStackTrace();

}

}

returni;

}

}

输入的封装:

importjava.util.Scanner;

/*

*输入帮助类

*/

publicclassInpuHelp{

staticScannerinput=newScanner(System.in);

/**

*获得输入int

*@return输入的值int

*/

publicstaticintgetint()

{

inti=input.nextInt();

returni;

}

/**

*获得字符串输入

*@return输入的字符串

*/

publicstaticStringgetstrin()

{

Strings=input.next();

returns;

}

}

测试类:

importjava.sql.Connection;

importjava.sql.PreparedStatement;

importjava.sql.SQLException;

importcom.qhit.bank.dal.InpuHelp;

importcom.qhit.bank.dal.SqlHelp;

publicclassTestPrapaer{

/*

*@DemoprepareStatement命令存数据

*/

publicstaticvoidmain(String[]args){

System.out.println("请输入学号:

");

inta=InpuHelp.getint();//调用输入帮助类

System.out.println("请输入姓名:

");

Stringxm=InpuHelp.getstrin();//调用输入帮助类

System.out.println("请输入age:

");

intage=InpuHelp.getint();//调用输入帮助类

Stringsql="insertintoxs(snum,sname,sage)values(?

?

?

)";

PreparedStatementpcmd=null;

//通过sqlhelp类来得到连接

Connectioncn=SqlHelp.getConn();

try{

//准备参数化命令

pcmd=cn.prepareStatement(sql);

//为命令设置参数

pcmd.setInt(1,a);

pcmd.setString(2,xm);

pcmd.setInt(3,age);

//执行命令

pcmd.execute();//这个方法很重要执行增删改的sql语句

System.out.println("inertintook...");

}catch(SQLExceptione){

e.printStackTrace();

}finally

{

//关闭资源

try{

pcmd.close();

cn.close();

}catch(SQLExceptione){

e.printStackTrace

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1