jdbc,链接调用数据库的方法——例题

package com.jdbcke;

import java.sql.Connection; 
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;

import javax.swing.plaf.synth.SynthStyle;

public class ke1 {

	public static void main(String[] args) {

		try {		//访问数据库
			
			//1.加载驱动;加载数据库提供的驱动类
			Class.forName("oracle.jdbc.driver.OracleDriver");
			
			//2.获取数据库连接,通过java的驱动管理器
			//url——数据库地址;user——用户名;password-密码
			//不同的数据库地址写法不一样
			Connection conn= DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcltao",
					"test0816","123456");
			
			System.out.println("连接成功");
			
			//3.获得操作数据库的声明Statement
			Statement st=conn.createStatement();
			
			//4.操作数据,增删改查
			//执行操作,增
			int i =st.executeUpdate("insert into student (sno,sname,ssex)"+"values('1517','小军','男')");
			System.out.println("添加数据成功,返回值="+i);//返回值的意思:该操作影响的数据记录条数。
			
			//改
//			int i=st.executeUpdate("update student set ssex='男' where ssex='1'");
//			System.out.println("添加数据成功,返回值="+i);
			
			//查ResultSet数据结果集
			ResultSet rs= st.executeQuery("select * from student");			
			//遍历结果集
			while(rs.next())	//next() 判断是否存在下一条记录,如果存在,移动指针到一下条记录数据
			{
				//读取数据
				String sno=rs.getString("sno");
				String sname=rs.getString("sname");
				String ssex=rs.getString("ssex");
				
				System.out.println("sno="+sno+"sname="+sname+"ssex="+ssex);
			}
			
			
			//3.4创建声明与执行PreparedStatement
//			String sql="select * from kaihubiao where yhcard=? and cardmm=?";
//			PreparedStatement ps= conn.prepareStatement(sql);
//			ps.setString(1, cardid);
//			ps.setString(2, mm);
//			//执行
//			ResultSet rs= ps.executeQuery();
//			//遍历
//			rtn=rs.next();//如果有数据就验证通过
			
			
			//补充知识
				
			//调用存储过程
//			CallableStatement cs=conn.prepareCall("{call 存储过程名(?,?)}");
			
			
			//获取与数据库相关的信息
			DatabaseMetaData dm= conn.getMetaData();
			System.out.println("URL="+dm.getURL());
			System.out.println("名称="+dm.getUserName());
			System.out.println("产品名称="+dm.getDatabaseProductName());
			
			//结果集的元数据	——可以获得数据库表中的列明
			ResultSetMetaData rsmd =rs.getMetaData();
			System.out.println("列的数量"+rsmd.getColumnCount());
			System.out.println("列的列名"+rsmd.getColumnName(1));
			System.out.println("列的数量"+rsmd.getColumnCount());
			
			rs.close();
			//关闭声明,释放资源
			st.close();
			//关闭数据库连接
			conn.close();
			
		} catch (ClassNotFoundException | SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}

  

原文地址:https://www.cnblogs.com/zhangnaitao/p/5986670.html