}
例子5:模糊查询
import java.sql.*;
public class DatabaseTest {
public static void main(String args[]) {
Connection con;
Statement sql;
ResultSet rs;
try {
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
} catch (ClassNotFoundException e) {
}
try {
con = DriverManager.getConnection(“jdbc:odbc:library”, “book”,
“123”);
sql = con.createStatement();
rs = sql.executeQuery("SELECT name,price FROM bookdata WHERE name LIKE ‘%java%’ ");
while (rs.next()) {
String name = rs.getString(1);
double price = rs.getInt(2);
System.out.print(" 书名:" + name);
System.out.println(" 定价:" + price);
}
rs.close();
sql.close();
con.close();
} catch (SQLException e) {
System.out.println(e);
}
}
}
例子6:计算抽样图书的平均页数。
import java.sql.*;
import java.util.LinkedList;
public class DatabaseTest {
public static void main(String args[]) {
LinkedList list = new LinkedList();
Connection con;
Statement sql;
ResultSet rs;
try {
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
} catch (ClassNotFoundException e) {
}
try {
con = DriverManager.getConnection(“jdbc:odbc:library”, “book”, “123”);
sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs = sql.executeQuery(“SELECT name,pages FROM bookdata”);
rs.last();
int lownumber = rs.getRow();
int number = lownumber;
for (int i = 1; i <= number; i++) {
list.add(new Integer(i));
}
double sum = 0;
int k = 4;
int 抽取数目 = k;
while (k > 0) {
int i = (int) (Math.random() * list.size());
int index = ((Integer) list.get(i)).intValue();
rs.absolute(index);
System.out.print(“书名:” + rs.getString(1));
System.out.println(“页数:” + rs.getString(2));
int math = rs.getInt(“pages”);
sum = sum + math;
k–;
list.remove(i);
}
System.out.println(“抽样的图书平均页数:” + sum / 抽取数目);
con.close();
} catch (SQLException e) {
System.out.println(e);
}
}
}
例子7:图书信息的增加、修改、删除、查询。
import java.sql.*;
public class DatabaseTest {
public static void main(String args[]) {
Connection con;
Statement stmt;
ResultSet rs;
try {
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
} catch (ClassNotFoundException e) {
}
try {
con = DriverManager.getConnection(“jdbc:odbc:library”, “book”,
“123”);
stmt = con.createStatement();
int pages = 299;
String isbn = “9877811234169”, name, authors, publisher;
String updateStr = “UPDATE bookdata SET pages =” + pages
- " WHERE isbn = " + “'” + isbn + “'”;
pages = 400;
float price = 45.8f;
isbn = “9877811239999”;
name = “Java高级数据库编程”;
authors = “张三,李四,王五”;
publisher = “蓝天出版社”;
String value = “(” + “'” + isbn + “', '” + name + “', '” + authors
- “', '” + publisher + "', " + pages + “,” + price + “)”;
String insertStr = "INSERT INTO bookdata(isbn, name, authors, publisher, pages, price) VALUES " + value;
String delStr = "DELETE FROM bookdata WHERE isbn = ‘9877811239999’ ";
stmt.executeUpdate(updateStr);
stmt.executeUpdate(insertStr);
stmt.executeUpdate(delStr);
rs = stmt.executeQuery(“SELECT * FROM bookdata”);
while (rs.next()) {
isbn = rs.getString(“isbn”);
name = rs.getString(“name”);
authors = rs.getString(5);
publisher = rs.getString(“publisher”);
pages = rs.getInt(“pages”);
price = rs.getFloat(“price”);
System.out.print(“书号:” + isbn);
System.out.print(" 书名:" + name);
System.out.print(" 作者:" + authors);
System.out.print(" 作者:" + publisher);
System.out.print(" 页数:" + pages);
System.out.println(" 定价:" + price);
}
rs.close();
stmt.close();
con.close();
} catch (SQLException e) {
System.out.println(e);
}
}
}
例子8:使用预处理语句prepareStatement查询数据库
import java.sql.*;
public class DatabaseTest {
public static void main(String args[]) {
Connection con;
PreparedStatement pstmt;
ResultSet rs;
try {
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
} catch (ClassNotFoundException e) {
System.out.println(“” + e);
}
try {
con = DriverManager.getConnection(“jdbc:odbc:library”, “book”, “123”);
pstmt = con.prepareStatement(“SELECT isbn, price FROM bookdata”); // 预处理语句
rs = pstmt.executeQuery();
while (rs.next()) {
String isbn = rs.getString(1);
float price = rs.getFloat(2);
System.out.print(“书号:” + isbn);
System.out.println(" 定价:" + price);
}
con.close();
} catch (SQLException e) {
System.out.println(e);
}
}
}
例子9:使用预处理语句prepareStatement增加、修改、删除、
import java.sql.*;
public class DatabaseTest {
public static void main(String args[]) {
Connection con;
PreparedStatement pstmt1, pstmt2, pstmt3;
ResultSet rs;
try {
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
} catch (ClassNotFoundException e) {
System.out.println(“” + e);
}
try {
con = DriverManager.getConnection(“jdbc:odbc:library”, “book”, “123”);
pstmt1 = con.prepareStatement("UPDATE bookdata SET price = ? WHERE id= ? ");
pstmt1.setFloat(1, 55.5f);
pstmt1.setInt(2, 1);
pstmt1.executeUpdate();
pstmt1.setInt(1, 2);
pstmt1.setFloat(2, 66.6f);
pstmt1.executeUpdate();
pstmt2 = con.prepareStatement(“INSERT INTO bookdata(isbn, name, pages, price) VALUES (?,?,?,?)”);
pstmt2.setString(1, “20038881111”);
pstmt2.setString(2, “Oracle数据库使用指南”);
pstmt2.setInt(3, 300);
pstmt2.setFloat(4, 77.7f);
pstmt2.executeUpdate();
pstmt3 = con.prepareStatement("SELECT name, pages, price FROM bookdata WHERE pages <= ? AND price >= ? ");
pstmt3.setInt(1, 400);
pstmt3.setFloat(2, 50f);
System.out.println(“3…”);
rs = pstmt3.executeQuery();
while (rs.next()) {
System.out.print(“书名:” + rs.getString(1));
System.out.print(" 页数:" + rs.getInt(2));
System.out.println(" 定价:" + rs.getFloat(3));
}
con.close();
} catch (SQLException e) {
System.out.println(e);
}
}
}
例子10:综合例子
import java.net.*;
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Client
{
public static void main(String args[])
{ new QueryClient();
}
}
class QueryClient extends Frame
implements Runnable,ActionListener
{ Button connection,send;
TextField inputText;
TextArea showResult;
Socket socket=null;
DataInputStream in=null;
DataOutputStream out=null;
Thread thread;
QueryClient()
{ socket=new Socket();
Panel p=new Panel();
connection=new Button(“连接服务器”);
send=new Button(“发送”);
send.setEnabled(false);
inputText=new TextField(8);
showResult=new TextArea(6,42);
p.add(connection);
p.add(new Label(“输入学号”));
p.add(inputText);
p.add(send);
add(p,BorderLayout.NORTH);
add(showResult,BorderLayout.CENTER);
connection.addActionListener(this);
send.addActionListener(this);
thread=new Thread(this);
setBounds(10,30,350,400);
setVisible(true);
validate();
addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent e)
{ System.exit(0);
}
});
}
public void actionPerformed(ActionEvent e)
{ if(e.getSource()==connection)
{ try
{ if(socket.isConnected())
{}
else
{ InetAddress address=InetAddress.getByName(“127.0.0.1”);
InetSocketAddress socketAddress=new InetSocketAddress(address,4331);
socket.connect(socketAddress);
in =new DataInputStream(socket.getInputStream());
out = new DataOutputStream(socket.getOutputStream());
send.setEnabled(true);
thread.start();
}
}
catch (IOException ee){}
}
if(e.getSource()==send)
{ String s=inputText.getText();
if(s!=null)
{ try { out.writeUTF(s);
}
catch(IOException e1){}
}
}
}
public void run()
{ String s=null;
while(true)
{ try{ s=in.readUTF();
showResult.append(“\n”+s);
}
catch(IOException e)
{ showResult.setText(“与服务器已断开”);
break;
}
}
}
}
(2) 服务器端程序
import java.io.*;
import java.net.*;
import java.util.*;
import java.sql.*;
public class Server
{ public static void main(String args[])
{ Connection con;
PreparedStatement sql=null;
ResultSet rs;
try{ Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
}
catch(ClassNotFoundException e){}
try{ con=DriverManager.getConnection(“jdbc:odbc:sun”,“gxy”,“123”);
sql=con.prepareStatement("SELECT * FROM chengjibiao WHERE number = ? ");
}
catch(SQLException e){}
ServerSocket server=null;
Server_thread thread;
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(资料价值较高,非无偿)
![img](https://img-blog.csdnimg.cn/img_convert/b60ae38b001b1a5d95f45edb7163bffb.jpeg)
最后我们该如何学习?
1、看视频进行系统学习
这几年的Crud经历,让我明白自己真的算是菜鸡中的战斗机,也正因为Crud,导致自己技术比较零散,也不够深入不够系统,所以重新进行学习是很有必要的。我差的是系统知识,差的结构框架和思路,所以通过视频来学习,效果更好,也更全面。关于视频学习,个人可以推荐去B站进行学习,B站上有很多学习视频,唯一的缺点就是免费的容易过时。
另外,我自己也珍藏了好几套视频资料躺在网盘里,有需要的我也可以分享给你:
2、读源码,看实战笔记,学习大神思路
“编程语言是程序员的表达的方式,而架构是程序员对世界的认知”。所以,程序员要想快速认知并学习架构,读源码是必不可少的。阅读源码,是解决问题 + 理解事物,更重要的:看到源码背后的想法;程序员说:读万行源码,行万种实践。
Spring源码深度解析:
Mybatis 3源码深度解析:
Redis学习笔记:
Spring Boot核心技术-笔记:
3、面试前夕,刷题冲刺
面试的前一周时间内,就可以开始刷题冲刺了。请记住,刷题的时候,技术的优先,算法的看些基本的,比如排序等即可,而智力题,除非是校招,否则一般不怎么会问。
关于面试刷题,我个人也准备了一套系统的面试题,帮助你举一反三:
只有技术过硬,在哪儿都不愁就业,“万般带不去,唯有业随身”学习本来就不是在课堂那几年说了算,而是在人生的旅途中不间断的事情。
人生短暂,别稀里糊涂的活一辈子,不要将就。
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门即可获取!
础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!**
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(资料价值较高,非无偿)
![img](https://img-blog.csdnimg.cn/img_convert/b60ae38b001b1a5d95f45edb7163bffb.jpeg)
最后我们该如何学习?
1、看视频进行系统学习
这几年的Crud经历,让我明白自己真的算是菜鸡中的战斗机,也正因为Crud,导致自己技术比较零散,也不够深入不够系统,所以重新进行学习是很有必要的。我差的是系统知识,差的结构框架和思路,所以通过视频来学习,效果更好,也更全面。关于视频学习,个人可以推荐去B站进行学习,B站上有很多学习视频,唯一的缺点就是免费的容易过时。
另外,我自己也珍藏了好几套视频资料躺在网盘里,有需要的我也可以分享给你:
[外链图片转存中…(img-Qj7uVNpO-1711532277323)]
2、读源码,看实战笔记,学习大神思路
“编程语言是程序员的表达的方式,而架构是程序员对世界的认知”。所以,程序员要想快速认知并学习架构,读源码是必不可少的。阅读源码,是解决问题 + 理解事物,更重要的:看到源码背后的想法;程序员说:读万行源码,行万种实践。
Spring源码深度解析:
[外链图片转存中…(img-QaNiV8Nq-1711532277323)]
Mybatis 3源码深度解析:
[外链图片转存中…(img-GODBbEWj-1711532277324)]
Redis学习笔记:
[外链图片转存中…(img-SciHiSWy-1711532277324)]
Spring Boot核心技术-笔记:
[外链图片转存中…(img-EzzR0Mck-1711532277324)]
3、面试前夕,刷题冲刺
面试的前一周时间内,就可以开始刷题冲刺了。请记住,刷题的时候,技术的优先,算法的看些基本的,比如排序等即可,而智力题,除非是校招,否则一般不怎么会问。
关于面试刷题,我个人也准备了一套系统的面试题,帮助你举一反三:
[外链图片转存中…(img-gUZ7xnAo-1711532277324)]
只有技术过硬,在哪儿都不愁就业,“万般带不去,唯有业随身”学习本来就不是在课堂那几年说了算,而是在人生的旅途中不间断的事情。
人生短暂,别稀里糊涂的活一辈子,不要将就。
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门即可获取!