如何去实现java与数据库的连接

如何去实现java与数据库的连接

java与数据库的连接总体可以分为7步
  1. 首先导入驱动jar包
  2. 加载数据库驱动
  3. 创建并获取数据库连接对象 Connection
  4. 定义SQL语句
  5. 获取执行SQL语句的对象
  6. 执行SQL语句,接收返回结果
  7. 释放资源
    详细看代码的注释
 package mybatis_Test.com.rjxy.mybasit.test1;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Jdbc {
	
  static Connection conn=null;//第一个小细节 static 类型的Connection 是为了直接使用类去调用conn
    public Connection getConnection() throws SQLException {
	  try {
		Class.forName("com.mysql.jdbc.Driver");//加载数据库驱动
		System.out.print("mySQL的驱动");//通过这句话看自己数据库驱动是否加载完成
		String url="jdbc:mysql:///liveshop?useUnicode=true&characterEncoding=UTF-8";//我的数据库的地址
	  //String url = "jdbc:mysql://localhost:3306/liveshop";//另一种写法
	  //标准格式jdbc:mysql://localhost:3306:jdbc
	  //jdbc:mysql:// 是指JDBC连接方式; localhost: 是指你的本机地址; 3306 :SQL数据库的端口号; jdbc :就是你要连接的数据库的地址。
	  // localhost:可与IP地址互换 本机地址可以通过 cmd命令打开窗口如何输入ipconfig回车  出来的结果IPv4就是IP地址  		
	  //常用数据库的默认端口号  Mysql的端口号是3306; Oracle的端口号是1521; SqlServer的端口号是1433;Redis端口号:6379		
		
		
			
	
		String password="123456";//我的数据库用户名的密码
		String username="root";//我的数据库用户名的名字
		conn=DriverManager.getConnection(url, username, password);//创建与MySQL数据库的连接类的实例
		System.out.println("与数据库连接");//判断是否连接成功
		
	} catch (ClassNotFoundException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	  
	return conn;//返回连接上的conn
  }
  public static <CreateMysql> void main(String[] arg) {
	  Jdbc mySQL=new Jdbc ();//创建实例
	  PreparedStatement preparedStatement = null;//获取处理sql语句的命令对象
	  ResultSet resultSet= null;//存放结果
	  try {
		mySQL.getConnection();//调用getConnection去连接数据库
	} catch (SQLException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}

	  String sql="select * from address where name = ?";//数据库语句以为PreparedStatemrnt原因,语句?的地方是变量的地方
	  try {
		preparedStatement = conn.prepareStatement(sql); //获取处理sql语句的命令对象
		preparedStatement.setString(1,"myt");//又一个小细节 索引参数1代表着sql中的第一个?号,也就是name
		resultSet = preparedStatement.executeQuery();//执行sql语句
		while(resultSet.next()) {//还有个小细节 迭代器配合while进行遍历
			System.out.println(resultSet.getString("name"));//输出结果
		}
		
	} catch (SQLException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}finally {
		if(resultSet!=null) {
			try {
				resultSet.close();//释放资源的细节 后开先关,先开后关,数据库连接数有限制的,如果连接不关闭,
				                  //使用的人比较多,那么系统容易崩溃
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
			
		}
		if(preparedStatement!=null) {
			try {
				preparedStatement.close();//释放资源
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		if(conn!=null) {
         try {
			conn.close();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();//释放资源
		}
		
  }
		}
  }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值