3.2 Java与数据库(二)JDBC连接数据库

一、Java数据库连接步骤

1、导入jar包,例如mysql-connector-java-5.1.45-bin.jar导入到项目文件中。

2、加载驱动,让应用程序连接上指定的数据库服务器。

3、建立连接,让应用程序连接到服务器中具体的数据库。

4、用com.mysql.jdbc.Driver驱动字符窜。

5、加入连接语句jdbc:mysql://localhost:3306/数据库名+连接字符窜。


二、测试数据库连接

1、重新构建路径,添加JUnit4库和mysql-connector-java-5.1.45-bin.jar包。

2、编写方法test01并运行(注意:是运行方法而不是main函数)代码如下:

import java.sql.Connection;
import java.sql.DriverManager;
import org.junit.Test;

public class Demo
{
	/*
	 * JAVA连接MYSQL
	 */
	@Test
	public void test01()
	{
		/*
		 * 连接数据库的步骤
		 *              1.加载驱动,让应用程序连接上指定的数据库服务器
		 *              2.建立连接,让应用程序连接到服务器中具体的数据库
		 *              3.com.mysql.jdbc.Driver 驱动字符窜
		 *              4.jdbc:mysql://localhost:3306/数据库名 连接字符窜
		 */
		try
		{
			Class.forName("com.mysql.jdbc.Driver");
			Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/myuser","root","123456");
			if(conn!=null)
			{
				System.out.println("连接成功!");
			}
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
	}
}

三、利用sql语句实现对数据的增加

注意:如果写入的数据存在中文字符,必须在获得连接对象语句中,数据库名后加上 ?characterEncoding=utf-8

例如:jdbc:mysql://localhost:3306/myuser?characterEncoding=utf-8

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import org.junit.Test;

public class Demo
{
	@Test
	public void test02()
	{
		/*
		 * 利用sql语句实现增加
		 * -- 添加记录
         * insert into user(id,username,password) values(3,'王五','456321')
         * insert into 表名(列名、列名、列名、、) values(v1、v2、v3、、、)
		 */
		try
		{
			Class.forName("com.mysql.jdbc.Driver");
			//获得连接对象
			Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/myuser?characterEncoding=utf-8","root","123456");
			if(conn!=null)
			{
				//连接对象不为空,意味着应用程序成功的连接上服务中具体的数据库
				String sql="insert into user(id,username,password) values(1003,'王五','456321')";
				//拿到可以处理sql语句的对象
				PreparedStatement pstmt=conn.prepareStatement(sql);
				//增删改统称为更新操作,executeUpdate执行后返回的是受影响的行数
				int num=pstmt.executeUpdate();
				if(num>0)
				{
					System.out.println("添加成功");
				}
			}
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
	}
}


四、利用sql语句实现对数据的删除

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import org.junit.Test;

public class Demo
{
	@Test
	public void test03()
	{
		/*
		 * 删除的sql语句语法结构
		 * delete from 表名 where id=?
		 */
		try
		{
			Class.forName("com.mysql.jdbc.Driver");
			//获得连接对象
			Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/myuser","root","123456");
			if(conn!=null)
			{
				String sql="delete from user where id=1003";
				PreparedStatement pstmt=conn.prepareStatement(sql);
				int num=pstmt.executeUpdate();
				if(num>0)
				{
					System.out.println("删除成功!");
				}
			}
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
	}
}


五、利用sql语句实现对数据的修改

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import org.junit.Test;

public class Demo
{
	@Test
	public void test04()
	{
		/*
		 * 修改的sql语句语法结构
		 * update 表名 set 列名=v1,列名=v2、、where id=?
		 */
		try
		{
			Class.forName("com.mysql.jdbc.Driver");
			//获得连接对象
			Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/myuser?characterEncoding=utf-8","root","123456");
			if(conn!=null)
			{
				String sql="update user set password='1314520' where id=1002";
				PreparedStatement pstmt=conn.prepareStatement(sql);
				int num=pstmt.executeUpdate();
				if(num>0)
				{
					System.out.println("修改成功!");
				}
			}
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
	}
}


六、利用sql语句实现对数据的查询

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import org.junit.Test;

public class Demo
{
	@Test
	public void test05()
	{
		/*
		 * 查询的语法结构
		 *      select 列名、列名、列名 where 表
		 *      select * from 表  *代表所有
		 * 查询使用的方法
		 *      executeQuery
		 * 利用结果集接收查询的结果,结果集存储了包括列名在内的所有的查询出的信息
		 */
		try
		{
			Class.forName("com.mysql.jdbc.Driver");
			//获得连接对象
			Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/myuser?characterEncoding=utf-8","root","123456");
			if(conn!=null)
			{
				String sql="select * from user";
				PreparedStatement pstmt=conn.prepareStatement(sql);
				ResultSet rs=pstmt.executeQuery();
				/*
				 * 利用next方法逐行判断该行是否有数据,有数据返回位true,空的话返回位false
				 * 必须从第一行的下一行开始判断,因为结果集的第一行是列名
				 */
				while(rs.next())
				{
					//利用结果集+get系列方法逐列读取数据
					System.out.println(rs.getInt(1)+"\t"+rs.getString(2)+"\t"+rs.getString(3));
				}
			}
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
	}
}


至此,利用Java与SQL语句实现了对MySQL简单的增删改查。


Java与数据库相关知识:


3.1 Java与数据库(一)数据库概述

3.2 Java与数据库(二)JDBC连接数据库

3.3 Java与数据库(三)DAO设计模式

3.4 Java与数据库(四)数据库总结


  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值