java使用jdbc方式连接数据库实例

连接sqlserver数据库

package jdbc;

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

public class JdbcTest1 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		String className = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
		//加载jdbc驱动,Class.forName()加载
		try {
			Class.forName(className );//11111111111111
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}

		Driver driver = null;
		
		///注册jdbc驱动,在DriverManager类中注册,registerDriver(Driver driver)
		try {
			driver = new com.microsoft.sqlserver.jdbc.SQLServerDriver();///
			DriverManager.registerDriver(driver );//222222222222
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
		//3建立数据库连接Connection对象,由DriverManager建立连接对象,知道连接什么数据库、连接用户名和密码
		Connection con = null;
		String url ="jdbc:sqlserver://localhost:1433;DatabaseName=db";//jdbc url,不同数据库的识别方法是不一样的。
		String user ="sa";
		String password ="123456";
		try{
			con = DriverManager.getConnection(url, user, password);//
		}catch(Exception e){
			e.printStackTrace();
			
		}
		
		
		//PreparedStatement
		PreparedStatement pstmt  = null;
		String sql = "select * from book where price <? and number > ?";
		try {
			pstmt  = con.prepareStatement(sql );
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		try {
			pstmt.setFloat(1, (float) 50.0);
			pstmt.setInt(2, 5);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		
		
//借助于语句对象,执行数据库sql操作
		
		
		ResultSet rs  = null;
		try {
			rs = pstmt.executeQuery();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		///处理数据库查询结果
		try {
			while(rs.next()){
				String isbn  = rs.getString(1);
				String author = rs.getString("author");
				Float price = rs.getFloat("price");
				Integer number = rs.getInt("number");
				System.out.println("isbn:"+isbn+"\nauthor:"+author+"\ntotal:"+price*number+"\n");
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		///关闭资源,与开启顺序相反
		try{
			
			if(rs!=null){
				rs.close();
				
			}
			if(pstmt!=null){
				pstmt.close();
				
			}
			if(con!=null){
				con.close();
				
			}
		}catch(SQLException e){
			e.printStackTrace();
			
		}
	}

}

连接mysql数据库

package jdbc;

import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class JdbcTest {

	/**查询数据库表中的内容,并在控制台输出显示 
	 * @param args
	 */
	public static void main(String[] args) {
		
		String className = "com.mysql.jdbc.Driver";
		//加载jdbc驱动,Class.forName()加载
		try {
			Class.forName(className );//11111111111111
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
		
		
		Driver driver = null;
		
		///注册jdbc驱动,在DriverManager类中注册,registerDriver(Driver driver)
		try {
			driver = new com.mysql.jdbc.Driver();///
			DriverManager.registerDriver(driver );//222222222222
		} catch (SQLException e) 
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
		//3建立数据库连接Connection对象,由DriverManager建立连接对象,知道连接什么数据库、连接用户名和密码
		Connection con = null;
		String url ="jdbc:mysql://localhost:3306/db";//jdbc url,不同数据库的识别方法是不一样的。
		String user ="root";
		String password ="123456";
		try{
			con = DriverManager.getConnection(url, user, password);//
		}catch(Exception e){
			e.printStackTrace();
			
		}
		
		
		4...准备操作数据库前的工作,借助于Statement或PreparedStatement来操作数据库,可以通过Connection对象得到语句对象
		
		//Statement 
		Statement stmt = null;
		try {
			stmt  = con.createStatement();///
		} catch (SQLException e) {
			e.printStackTrace();
		}
		
		/**PreparedStatement
		PreparedStatement pstmt  = null;
		String sql = "select * from book where price <? and number > ?";
		try {
			pstmt  = con.prepareStatement(sql );
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		try {
			pstmt.setFloat(1, (float) 50.0);
			pstmt.setInt(2, 5);
		} catch (SQLException e) {
			e.printStackTrace();
		}**/
		
		
		//借助于语句对象,执行数据库sql操作
		
		String sql  = "select * from book where  price <50 and number>5";
		ResultSet rs  = null;
		try {
			rs = stmt.executeQuery(sql);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		///处理数据库查询结果
		try {
			while(rs.next()){
				String isbn  = rs.getString(1);
				String author = rs.getString("author");
				Float price = rs.getFloat("price");
				Integer number = rs.getInt("number");
				System.out.println("isbn:"+isbn+"\nauthor:"+author+"\ntotal:"+price*number+"\n");
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		
		///关闭资源,与开启顺序相反
		try{
			
			if(rs!=null){
				rs.close();
				
			}
			if(stmt!=null){
				stmt.close();
				
			}
			if(con!=null){
				con.close();
				
			}
		}catch(SQLException e){
			e.printStackTrace();
			
		}
		
	}

}


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值