一、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与数据库相关知识: |