java_277_JDBC_ORM原理_使用Object数组存储一条记录_练习

ORM:对象关系映射
在这里插入图片描述
//-------------------工具类--------------------------
package java_277_JDBC_ORM原理_使用Object数组存储一条记录_练习;

import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

/**
*JDBC工具类
*/
public class JDBCUtil {

static Properties pros = null;//可以帮助读取和处理资源文件中的信息
//静态代码块
static{//加载JDBCUtil类的时候调用;注意:这个类只能加载一次
	 pros = new Properties();
	 try {
		pros.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("db.properties"));
	
	 } catch (IOException e) {
		e.printStackTrace();
	}
}
//建立mysql连接
public static Connection getMysqlConn(){
   try {
	   //加载驱动类   
	   Class.forName(pros.getProperty("mysqlDriver"));
	 //连接数据库
	   return DriverManager.getConnection(
			   pros.getProperty("mysqlURL"),pros.getProperty("mysqlUser"),
			   pros.getProperty("mysqlPwd"));//characterEncoding 字符编码 
   } catch (Exception e) {
	   e.printStackTrace();
	   return null;
   }
}
//获取oracle连接
public static Connection getOracleConn(){
	   try {
		   //加载驱动类   
		   Class.forName(pros.getProperty("oracleDriver"));
		 //连接数据库
		   return DriverManager.getConnection(
				   pros.getProperty("oracleURL"),pros.getProperty("oracleUser"),
				   pros.getProperty("oraclePwd"));//characterEncoding 字符编码 
	   } catch (Exception e) {
		   e.printStackTrace();
		   return null;
	   }
	}
//封装关闭方法
public static void close(ResultSet rs){
	try {
		if(rs!=null){
			rs.close();//关闭
		}
	} catch (Exception e) {
			e.printStackTrace();
	}
}
public static void close(Statement ps){
	try {
		if(ps!=null){
			ps.close();//关闭
		}
	} catch (SQLException e) {
			e.printStackTrace();
	}
}
public static void close(Connection conn){
	try {
		if(conn!=null){
			conn.close();//关闭
		}
	} catch (SQLException e) {
			e.printStackTrace();
	}
}
public static void close(ResultSet rs,Statement ps,Connection conn){
	//关闭遵循先进后关原则;一定要分开关闭,这样出现异常不影响后面的程序执行
	try {
		if(rs!=null){
			rs.close();//关闭
		}
	} catch (Exception e) {
			e.printStackTrace();
	}
	try {
		if(ps!=null){
			ps.close();//关闭
		}
	} catch (SQLException e) {
			e.printStackTrace();
	}
	try {
		if(conn!=null){
			conn.close();//关闭
		}
	} catch (SQLException e) {
			e.printStackTrace();
	}
}

}
//--------------------------封装一条信息---------------
package java_277_JDBC_ORM原理_使用Object数组存储一条记录_练习;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
*测试使用Object[]来封装一条记录
*/
public class Demo01 {
public static void main(String[] args) {
Connection conn = JDBCUtil.getMysqlConn();
PreparedStatement ps = null;
ResultSet rs = null;
try {
ps = conn.prepareStatement(“select empname,salary,age from emp where id=?”);//如果只查一个人id=编号
//ps = conn.prepareStatement(“select empname,salary,age from emp where id=?”);
ps.setObject(1,1);
rs = ps.executeQuery();
//游标
while(rs.next()){
System.out.println(rs.getString(1)+"–"+rs.getDouble(2)+"–"+rs.getInt(3));
}
} catch (SQLException e) {

		e.printStackTrace();
	}finally{
		JDBCUtil.close(rs, ps, conn);
	}
}

}
//-----------------------创建-数据库–添加-内容----------------------
创建2个表
在这里插入图片描述
emp设计表
在这里插入图片描述
添加内容
在这里插入图片描述
在这里插入图片描述
//-----------------------结果----
在这里插入图片描述
//---------------------------多条信息----
package java_277_JDBC_ORM原理_使用Object数组存储一条记录_练习;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

/**
*测试使用Object[]来封装一条记录

  •  使用List<Object[]>数组,存储多条信息
    

*/
public class Demo01 {
public static void main(String[] args) {
Connection conn = JDBCUtil.getMysqlConn();
PreparedStatement ps = null;
ResultSet rs = null;
//Object[] objs = null;//查一条信息
List<Object[]> list = new ArrayList<Object[]>();//查多条信息
try {
//ps = conn.prepareStatement(“select empname,salary,age from emp where id=?”);//如果只查一个人id=编号
ps = conn.prepareStatement(“select empname,salary,age from emp where id>?”);//查多条信息
ps.setObject(1,0);
rs = ps.executeQuery();
//游标
while(rs.next()){
Object[] objs = new Object[3];//用Object数组 3代表三列 ;这是封装一条记录信息
//System.out.println(rs.getString(1)+"–"+rs.getDouble(2)+"–"+rs.getInt(3));
objs[0] = rs.getString(1);
objs[1] = rs.getObject(2);//直接用Object省事; 也可以用getDouble
objs[2] = rs.getObject(3);

			list.add(objs);
		} 
	} catch (SQLException e) { 
		e.printStackTrace();
	}finally{
		JDBCUtil.close(rs, ps, conn);
	}
	for(Object[] objs:list){
		System.out.println(""+objs[0]+";"+objs[1]+";"+objs[2]);
	}
}

}
//-------------------结果------------------------
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值