连接数据库
首先导入ojbdc.jar包用来连接数据库的,步骤如下
准备:导入数据库的jar包,ojdbc.jar
1、项目目录中创建lib文件夹
2、将ojdbc6.jar拷贝到lib文件夹
3、选中ojdbc6.jar,右键-->build path-->add to build path

然后复制ojdbc6.jar复制到lib下,按以下步骤操作

ojdbc6.jar配置完成后就可以写代码了,要一步一步来
代码:
1、加载驱动
2、获取连接
3、预执行
4、执行
5、释放
package Demo3;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
//从数据库中查询User表中的数据
//JDBC Java DateBase Connection
public class GetUser
{
public static void main(String[] args)
{
// TODO Auto-generated method stub
try
{
// 加载驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
// 获取链接
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "scott", "tiger");
// 预执行
PreparedStatement ps = conn.prepareStatement("select * from tb_user");
// 执行
ResultSet rs = ps.executeQuery();
// 解析结果集,打印
while(rs.next())
{
System.out.println(rs.getInt(1)+"\t"+rs.getString(2)+"\t"+rs.getString(3)+"\t"+rs.getString(4)+"\t"+rs.getString(5));
}
// 释放
System.out.println("连接成功");
rs.close();
ps.close();
conn.close();
} catch (Exception e)
{
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("连接失败");
}
}
}
最后连接数据库显示数据,显示数据可以用String的方法,但是这种方法全是字符,最好还是数字字符串分开,又考虑到需要使用二维数据来存储表格,这时候Java的List泛型编程就用到了,它是一种以中括号方式显示数据的,类似于Python的列表数据类型,即可以存储多种数据类型,是一个不错的选择。
先是连接成功数据库,后面是显示订单数据,今天的的知识点比之前多,对于没有学过Java的已经直接放弃了,有的直接运行不出来。下面的代码有的方法可以借鉴,是一个很好的参考,对于以后写程序有一个良好的思路,这个是很重要的。
下面上代码
UserDao.java
package Demo2;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
public class UserDao
{
//返回true为正确,false为错误
public static boolean login(String account,String password)
{
boolean b = false;
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "scott", "tiger");
PreparedStatement ps = conn.prepareStatement("select * from tb_user where user_account=? and password=?");
ps.setString(1, account);
ps.setString(2, password);
ResultSet rs = ps.executeQuery();
if(rs.next())
b = true;
rs.close();
ps.close();
conn.close();
} catch (Exception e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
//查询数据库是否有这个用户
// if(account.equals("123") && password.equals("qwe"))
// return true;
// else
// return false;
return b;
}
}
UserView.java
package Demo2;
import java.util.Scanner;
public class UserView
{
public static void main(String[] args)
{
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
System.out.println("请输入账号:");
String account = sc.next();
String password = sc.next();
//调用用户名密码检测
boolean b = UserDao.login(account, password);
if(b)
OrdersView.ordersMenu();
else
System.out.println("No");
}
}
OrdersDao.java
package Demo2;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
public class OrdersDao
{
public static List<List<Object>> getOrders()
{
//调用sql语句,获取所有订单信息
// String[] arr = {"第一张订单","第二张订单","第三张订单","第四张订单","第五张订单"};
// return arr;
List<List<Object>> table = new ArrayList<List<Object>>();
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
//2、获取连接
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:xe","scott","tiger");
//3、预执行
PreparedStatement ps = conn.prepareStatement("select rownum ,o.o_code,o.o_user_account,o.create_date,"
+ "p.pro_name,p.pro_price,op.pro_count,o.o_total "
+ "from tb_orders o,tb_orders_product op,tb_product p "
+ "where o.o_code=op.o_code and op.pro_id = p.pro_id");
//4、执行
ResultSet rs = ps.executeQuery();
while(rs.next())
{
List<Object> row = new ArrayList<Object>();
row.add(rs.getInt(1));
row.add(rs.getString(2));
row.add(rs.getString(3));
row.add(rs.getString(4));
row.add(rs.getString(5));
row.add(rs.getInt(6));
row.add(rs.getInt(7));
row.add(rs.getInt(8));
table.add(row);
}
//5、释放
rs.close();
ps.close();
conn.close();
}
catch (Exception e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
return table;
}
}
OrdersView.java
package Demo2;
import java.util.List;
import java.util.Scanner;
public class OrdersView
{
public static void ordersMenu()
{
while(true)
{
System.out.println("1--订单的显示");
System.out.println("2--销售额的统计");
System.out.println("3--销售记录的统计");
System.out.println("4--商品销售占比统计");
//用户输入选项
System.out.println("请输入选项:");
Scanner sc = new Scanner(System.in);
int input = sc.nextInt();
//sc.close();
if(input==1)
{
//订单显示
List<List<Object>> orders = OrdersDao.getOrders();
for(int i = 0;i<orders.size();i++)
System.out.println(orders.get(i));
}
else if(2==input)
{
//销售额的统计
}
else if(3==input)
{
//销售记录的统计
}
else if(4==input)
{
//商品销售占比统计
}
else
break;
}
System.out.println("系统结束!");
}
}
网友评论