jdbc连接及操作数据库总结

这篇文章将总结项目组jdbc连接数据库及对数据库的操作,供正在学习jsp的同学参考·····

1.标准数据库连接:DbUtil.java:

package com.wws.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class DbUtil 
{
	public static void main(String args[])
	{
		//注意为java.sql的包的Connection,Statement跟ResultSet
		Connection con=null;
		try {
			//1.加载数据库驱动
			Class.forName("com.mysql.jdbc.Driver");
			//2.获得连接
			String url="jdbc:mysql://localhost:3306/test";
			String user="root";
			String password="123";
			con=DriverManager.getConnection(url, user, password);
			
			/*//测试数据库连接是否成功
			if(null!=con)
			{
				System.out.println("连接成功");
			}
			else{
				System.out.println("连接失败");
			}*/
			
			//查询数据
			Statement stmt=con.createStatement();
			String sql="select*from course";
			
			//结果集
			ResultSet rs=stmt.executeQuery(sql);
			
			String id="";
			String name="";
			String jieduan="";
			
			while(rs.next())
			{
				//写法一
				/*id=rs.getString(1);
				name=rs.getString(2);
				jieduan=rs.getString(3);*/
				//写法二
				id=rs.getString("id");
				name=rs.getString("name");
				jieduan=rs.getString("jieduan");
				
				//测试代码:测试是否能从数据库获取到数据
				//System.out.println("编号:"+id+" "+"课程名称:"+name+" "+"学习阶段"+jieduan);
			}
			
			//关闭连接,顺序反过来
			if(rs!=null)
			{
				rs.close();
				rs=null;
			}
			
			if(stmt!=null)
			{
				stmt.close();
				stmt=null;
			}
			
			if(con!=null)
			{
				con.close();
				con=null;
			}
			
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}
2.查询数据:

package com.wws.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class DbUtil2
{
	public static void main(String args[])
	{
		//注意为java.sql的包的Connection,Statement跟ResultSet
		Connection con=null;
		try {
			//1.加载数据库驱动
			Class.forName("com.mysql.jdbc.Driver");
			//2.获得连接
			String url="jdbc:mysql://localhost:3306/test";
			String user="root";
			String password="123";
			con=DriverManager.getConnection(url, user, password);
			
			//查询数据
			Statement stmt=con.createStatement();
			String sql=
				"insert into course(id,name,jieduan) values(16,'数据挖掘技术','第二阶段')";
			int result=stmt.executeUpdate(sql);
			
			if(result>0)
			{
				System.out.print("插入成功!");
			}
			
			
			//关闭连接,顺序反过来
			if(stmt!=null)
			{
				stmt.close();
				stmt=null;
			}
			
			if(con!=null)
			{
				con.close();
				con=null;
			}
			
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}


3.上述代码连接部分的封装:

<pre name="code" class="java">import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class DbUtil 
{
	public static Connection getConnection()
	{
		Connection con = null;
		try {
			//1.加载数据库驱动
			Class.forName("com.mysql.jdbc.Driver");
			//2.获得连接
			String url = "jdbc:mysql://localhost:3306/test";
			String user = "root";
			String password = "123";
			con = DriverManager.getConnection(url, user, password);
			/*//测试数据库连接是否成功
			if(null!=con)
			{
				System.out.println("连接成功");
			}
			else{
				System.out.println("连接失败");
			}*/
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}
		return con;
	}
	
	public void closeRs(ResultSet rs)
	{
		if(rs!=null)
		{
			try {
				rs.close();
			} catch (SQLException e) {
				rs=null;
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			rs=null;
		}
	}
	
	public void closeStmt(Statement stmt)
	{
		if(stmt!=null)
		{
			try {
				stmt.close();
			} catch (SQLException e) {
				stmt=null;
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			stmt=null;
		}
	}
	
	public void closeCon(Connection conn)
	{
		if(conn!=null)
		{
			try {
				conn.close();
			} catch (SQLException e) {
				conn=null;
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			conn=null;
		}
	}
	

}



3.调用方法(以查询数据为例子)CourseDao:

package com.wws.dao;

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

import com.wws.util.DbUtil;
import com.wws.vo.Course;

public class CourseDao {

	public List<Course> findAll()
	{
		Connection conn=null;
		PreparedStatement ptmt =null;
		ResultSet rs=null;
		List<Course> list=new ArrayList<Course>();
		String sql="select * from Course";
		
		try {
			conn=DbUtil.getConnection();
			ptmt=conn.prepareStatement(sql);
			rs=ptmt.executeQuery();
			
			while(rs.next())
			{
				Course vo=new Course();
				
				vo.setId(rs.getString(1));
				vo.setName(rs.getString(2));
				vo.setJieduan(rs.getString(3));
			}	
<pre name="code" class="java">
	
	public static void main(String args[])
	{
		System.out.print("程序开始");
		ConnDB cd=new ConnDB();
		cd.getConn();
	}
}

list.add(vo);}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return list;}}
 4.jdbc操作sql server:
<pre name="code" class="java">import java.sql.Connection;
import java.sql.DriverManager;
public class ConnDB {
	private Connection ct=null;
	String dbURL="jdbc:sqlserver://localhost:1433;DatabaseName=onlineedu";
	String userName="sa";
	String passwd="123";
	public Connection getConn(){
		try{
		Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
	    ct=DriverManager.getConnection(dbURL,userName,passwd);
	    System.out.print("数据库连接成功!");
		}catch(Exception e){
			e.printStackTrace();
		}
	    return ct;
	}


以上为jdbc操作sql server的方法。





你可能感兴趣的:(jdbc,javaweb,数据库封装)