本学习笔记使用的是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("失败");
}
}
}