JDBC 学习笔记(一) 连接数据库(MySql)

    本学习笔记使用的是MySql数据库,Navicat图形化数据库管理工具。 

a.前置条件

        1.安装了MySQL数据库。

        2.JDBC驱动程序,将其jar包放置到lib目录下。

        3.数据库的URL,账号,密码。

        4.安装 Navicat for mysql 图形化的数据库管理工具,这个不是免费的,不过你懂的偷笑,当然用MySQL的控制台也行。需要掌握不少的命令才行。

b.创建数据库

        1.打开Navicat,创建一个连接,连接名自己设,主机名和端口号,本地的话应该就是下面显示的那样。

        

        2.在当前连接下使用Navicat为自己的工程添加一个数据库。名字随便设一个


通过这些你在项目中配置的url就有了="jdbc:mysql://localhost:3306/webdemo1";//填数据库具体路径名称

c.连接数据库

        
        直接贴源代码,注意build path  lib 目录下的jar包 。

package org.demo.connect;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBConnection {
	final static String url="jdbc:mysql://localhost:3306/webdemo1";//填数据库具体路径名称
	final static String username ="root";//数据库账号
	final static String password ="填你的密码";//数据库密码
	public static Connection getConnection(){
		Connection conn=null;
		try{
			/*1、加载数据库驱动
			Class.forName(driverClass)
			上面的dirverClass就是数据库驱动类所对应的类路径字符串,根据不同数据库厂商提供的驱动也不同。*/
			Class.forName("com.mysql.jdbc.Driver");
			/*2、通过DriverManager获取数据库的链接
			DriverManager.getConnection(String url, Stirng user, String pass)
			当使用DriverManager来获取链接,需要传入三个参数:分别是数据量的url、用户名、密码。*/
			conn=DriverManager.getConnection(url,username,password);
		
		}catch(ClassNotFoundException e){
			e.printStackTrace();
		}catch(SQLException e){
			e.printStackTrace();
		}
		//System.out.println(conn);
		return conn;
	}
	//测试方法,看数据库连接是否正常
public static void main(String[] args) {
		
		try
		{
		   Connection conn = DBConnection.getConnection();
		   if(conn!=null)
		   {
			   System.out.println("数据库连接正常!");
		   }
		   else
		   {
			   System.out.println("数据库连接异常!");
		   }
		}
		catch(Exception ex)
		{
			ex.printStackTrace();
		}
		
	}
}

        这里是一个普通连接数据库的例子,我们用static关键字修饰了这个方法方便我们拿到这个连接。

d.查询数据库

        建立与数据库的连接之后,我们就可以通过这个连接对数据库进行各种操作。

package org.demo.javabean;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.demo.connect.DBConnection;


public class User {
	private String account;
	private String password;
	public boolean checkUser(String account,String password) throws SQLException {
		//拿到连接
		 Connection con=DBConnection.getConnection();
		 //设计sql语句 表名为user 属性 account 和 password
		 String sql="select *from user where account='"+account+"'and password='"+password+"'";
		//初始化
		 PreparedStatement preparedStatement=null;
		 ResultSet resultSet=null;
		 //预处理Sql语句
		 preparedStatement=con.prepareStatement(sql);
		 //拿到结果集
		 resultSet=preparedStatement.executeQuery();
		 if (resultSet.next()) {
			 //获得结果集中的数据,有多条数据时使用While(resultSet.next())
			 this.account=resultSet.getString("account");
			 this.password=resultSet.getString("password");
			return true;
		}
		 return false;
	}
	public void setAccount(String account) {
		this.account=account;
	}
	public void setPassword(String password) {
		this.password=password;
	}
	public String getAccount() {
		return account;
	}
	public String getPassword() {
		return password;
	}

}
package org.demo.test;

import java.sql.SQLException;

import org.demo.javabean.User;

public class test {
public static void main(String[] args) throws SQLException {
	User user=new User();
	
	if(user.checkUser("root", "1234")) {
		System.out.println("成功");
		System.out.println("账号:"+user.getAccount());
		System.out.println("密码:"+user.getPassword());
	}else {
		System.out.println("失败");
	}
	
}
}


猜你喜欢

转载自blog.csdn.net/qq_40687864/article/details/80848915
今日推荐