您的位置:首页 > 数据库 > MySQL

通过JDBC对Mysql数据库进行简单的增删改查

2016-01-07 16:13 776 查看
    Java 数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。它JDBC是面向关系型数据库的。

    简单地说,就是用于执行SQL语句的一类Java API,通过JDBC使得我们可以直接使用Java编程来对关系数据库进行操作。通过封装,可以使开发人员使用纯Java API完成SQL的执行。

    准备工作:下载Mysql数据库对应的jar包并导入;

    Java连接MySQL的最新驱动包下载地址 :点击打开链接

    

    JDBC基本操作示例代码如下: 

package JDBC;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class JDBCOperation {
private Connection getConn()
{
String drive = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/test";//jdbc:mysql://localhost:3306/database name
String username = "root";//用户名
String password = "123456";//密码
Connection conn = null;
try{
Class.forName(drive);//之所以要使用这条语句,是因为要使用MySQL的驱动,所以我们要把它驱动起来,
conn = (Connection)DriverManager.getConnection(url, username, password);
}catch(ClassNotFoundException e){
e.printStackTrace();
}catch(SQLException e){
e.printStackTrace();
}
return conn;
}

//进行插入操作
public int insert()
{
Connection conn = getConn();
int i = 0;
String sql = "insert into grade(id, name, subject, score, classid) values(?,?,?,?,?) ";
PreparedStatement pstmt;
try{
pstmt = (PreparedStatement)conn.prepareStatement(sql);
pstmt.setInt(1, 9);
pstmt.setString(2, "Alex");
pstmt.setString(3, "Chinese");
pstmt.setInt(4, 100);
pstmt.setInt(5, 21);
i = pstmt.executeUpdate();
pstmt.close();
conn.close();
}catch(SQLException e){
e.printStackTrace();
}
return i;
}

//进行删除操作
public int delete()
{
Connection conn = getConn();
int i = 0;
String sql = "delete from grade where name = 'Alex'";
//String sql = "delete from grade where name = '"+ Alex(可以作为参数) +"'";
PreparedStatement pstmt;
try{
pstmt = (PreparedStatement)conn.prepareStatement(sql);
pstmt.executeUpdate();
pstmt.close();
conn.close();
}catch(SQLException e){
e.printStackTrace();
}
return i;
}

//进行修改操作
public int update()
{
Connection conn = getConn();
int i = 0;
String sql = "update grade set score = 101 where name = 'Alex'";
PreparedStatement pstmt;
try{
pstmt = (PreparedStatement)conn.prepareStatement(sql);
i = pstmt.executeUpdate();
pstmt.close();
conn.close();
}catch(SQLException e){
e.printStackTrace();
}
return i;
}

//进行查找操作
public int select()
{
Connection conn = getConn();
int i = 0;
String sql = "select * from grade";
PreparedStatement pstmt;
try{
pstmt = (PreparedStatement)conn.prepareStatement(sql);
ResultSet rs = pstmt.executeQuery();
int col = rs.getMetaData().getColumnCount();
while(rs.next()){
for(int j=1; j<=col; j++){
System.out.print(rs.getString(j)+"\t");
if(j == col)
System.out.println();
}
}
}catch(SQLException e){
e.printStackTrace();
}
return i;
}
}
注:
Connection

java.sql 

接口 Connection

与特定数据库的连接(会话)。在连接上下文中执行 SQL 语句并返回结果。

Connection 对象的数据库能够提供描述其表、所支持的 SQL 语法、存储过程、此连接功能等等的信息。此信息是使用 getMetaData 方法获得的。

PreparedStatemnt

java.sql 

接口 PreparedStatement

SQL语句被预编译并存储在 PreparedStatement 对象中。然后可以使用此对象多次高效地执行该语句。

常用方法

 boolean  execute()

          在此 PreparedStatement 对象中执行 SQL 语句,该语句可以是任何种类的 SQL 语句。

 ResultSet  executeQuery()

          在此 PreparedStatement 对象中执行 SQL 查询,并返回该查询生成的 ResultSet 对象。

 int  executeUpdate()

          在此 PreparedStatement 对象中执行 SQL 语句,该语句必须是一个 SQL 数据操作语言(Data Manipulation Language,DML)语句,比如 INSERT、UPDATE 或 DELETE 语句;或者是无返回内容的 SQL 语句,比如 DDL 语句。
ResultSet

java.sql 

接口 ResultSet

表示数据库结果集的数据表,通常通过执行查询数据库的语句生成。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: