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(); } }}