JAVA JDBC和mysql交互操作

1.首先在所在项目HelloWorld中新建Folder ,命名为lib。
2.然后将
复制到lib文件夹中,右键选择Add To Build Path。
3.在mysql中创建java专用数据库–dataforjava,并在其中创建表stu,插入几条信息如下:
在这里插入图片描述

package hello;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
//import java.sql.SQLException;
import java.sql.Statement;

//import com.mysql.jdbc.Driver;

import util.Close;
public class world {
		public static void main(String[] args) {	
				Connection conn=null;
				ResultSet rs=null;
				Statement st=null;
				try{//1.注册
					//DriverManager.registerDriver(new com.mysql.jdbc.Driver());
					/*因为在源码中已经注册过了,static {
					、try {
						java.sql.DriverManager.registerDriver(new Driver());
					} catch (SQLException E) {
						throw new RuntimeException("Can't register driver!");
					}
				}为避免重复注册使用以下
				    */
					Class.forName("com.mysql.jdbc.Driver");
					//2.建立连接,参数("要连接的数据库名",“用户名”,“密码”)
					conn = DriverManager.getConnection("jdbc:mysql://localhost/dataforjava","root","mysql");
					//3.创建Statement
					st = conn.createStatement();
					//4.设置查询语句
					String sql = "select * from stu";
					//5.执行查询
					rs = st.executeQuery(sql);
					while(rs.next()){
						int no = rs.getInt("No");
						String name = rs.getString("Name");
						String sex = rs.getString("Sex");
						System.out.println(no+"\t\t"+name+"\t\t"+sex);
					}					
				}catch(Exception e) {
					e.printStackTrace();
					//System.out.println("SQLException: " + e.getMessage());System.out.println("SQLState: " + e.getSQLState());System.out.println("VendorError: " + e.getErrorCode());
				}finally{
					 Close.release(rs,st,conn);					
				}				
		}				
}


package util;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Close {
	public static void release(ResultSet rs,Statement st,Connection conn){
		closeRs(rs);
		closeSt(st);
		closeConn(conn);
	}
	private static void closeRs(ResultSet rs){
		try {
			if(rs != null){
				rs.close();
			}							
		} catch (SQLException e) {
			e.printStackTrace();
		}finally{
			rs =null;
		}
		
	}
	
	private static void closeSt(Statement st){
		try {
			if(st != null){
				st.close();
			}							
		} catch (SQLException e) {
			e.printStackTrace();
		}finally{
			st =null;
		}
		
	}
	
	private static void closeConn(Connection conn){
		try {
			if(conn != null){
				conn.close();
			}							
			conn.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}finally{
			conn =null;
		}
		
	}
}

运行结果:

1		Kathy		female
2		Jack		male
3		Lulu		female
发布了55 篇原创文章 · 获赞 0 · 访问量 2068

猜你喜欢

转载自blog.csdn.net/KathyLJQ/article/details/104085431