java 数据库 编程_Java MySQL数据库编程详解

Java数据库编程一般可以分为以下几个步骤:

1、使用之前记得要在工程的build path中添加MySQL-connector-Java的 jar 包

2、加载和注册驱动程序,com.mysql.jdbc.Driver为JDBC驱

3、java驱动程序名称 Class.forName("com.mysql.jdbc.Driver");

4、连接数据库

// mysql为驱动程序类型,localhost为数据库服务器IP,这里是本地IP,3306是SQL数据库端口

//myuser 是数据库名称,root 是登录用户名,这里密码为空,所以是“”

Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/myuser", "root", "");

5、向数据库发送SQL语句,处理结果

// 插入数据的sql语句

String sql = "INSERT INTO staff(name, age, sex,address, depart, worklen,wage)"+ " VALUES ('Tom1', 32, 'M', 'china','Personnel','3','3000')";

// 创建用于执行静态sql语句的Statement对象

st = (Statement) conn.createStatement();

// 执行插入操作的sql语句,并返回插入数据的个数

int count = st.executeUpdate(sql);

6、

关闭数据库连接

// 释放所连接的数据库及资源

st.close();

// 关闭数据库连接

conn.close();

完整的实例代码如下:

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

public class java_test {

// 创建静态全局变量

static Connection conn;

static Statement st;

public static void main(String[] args) {

insert(); // 插入添加记录

update(); // 更新记录数据

delete(); // 删除记录

query(); // 查询记录并显示

}

/* 插入数据记录,并输出插入的数据记录数 */

public static void insert() {

// 首先要获取连接,即连接到数据库

conn = getConnection();

try {

// 插入数据的sql语句

String sql = "INSERT INTO staff(name, age, sex,address, depart, worklen,wage)"

+ " VALUES ('Tom1', 32, 'M', 'china','Personnel','3','3000')";

// 创建用于执行静态sql语句的Statement对象

st = (Statement) conn.createStatement();

// 执行插入操作的sql语句,并返回插入数据的个数

int count = st.executeUpdate(sql);

// 输出插入操作的处理结果

System.out.println("向staff表中插入 " + count + " 条数据");

// 释放所连接的数据库及资源

st.close();

// 关闭数据库连接

conn.close();

} catch (SQLException e) {

System.out.println("插入数据失败" + e.getMessage());

}

}

/* 更新符合要求的记录,并返回更新的记录数目 */

public static void update() {

// 同样先要获取连接,即连接到数据库

conn = getConnection();

try {

// 更新数据的sql语句

String sql = "update staff set wage='2200' where name = 'lucy'";

// 创建用于执行静态sql语句的Statement对象,st属局部变量

st = (Statement) conn.createStatement();

// 执行更新操作的sql语句,返回更新数据的个数

int count = st.executeUpdate(sql);

// 输出更新操作的处理结果

System.out.println("staff表中更新 " + count + " 条数据");

// 释放所连接的数据库及资源

st.close();

// 关闭数据库连接

conn.close();

} catch (SQLException e) {

System.out.println("更新数据失败");

}

}

/* 查询数据库,输出符合要求的记录的情况 */

public static void query() {

// 同样先要获取连接,即连接到数据库

conn = getConnection();

try {

// 查询数据的sql语句

String sql = "select * from staff";

// 创建用于执行静态sql语句的Statement对象,st属局部变量

st = (Statement) conn.createStatement();

// 执行sql查询语句,返回查询数据的结果集

ResultSet rs = st.executeQuery(sql);

System.out.println("最后的查询结果为:");

while (rs.next()) { // 判断是否还有下一个数据

// 根据字段名获取相应的值

String name = rs.getString("name");

int age = rs.getInt("age");

String sex = rs.getString("sex");

String address = rs.getString("address");

String depart = rs.getString("depart");

String worklen = rs.getString("worklen");

String wage = rs.getString("wage");

// 输出查到的记录的各个字段的值

System.out.println(name + " " + age + " " + sex + " " + address

+ " " + depart + " " + worklen + " " + wage);

}

// 释放所连接的数据库及资源

st.close();

conn.close(); // 关闭数据库连接

} catch (SQLException e) {

System.out.println("查询数据失败");

}

}

/* 删除符合要求的记录,输出情况 */

public static void delete() {

// 同样先要获取连接,即连接到数据库

conn = getConnection();

try {

// 删除数据的sql语句

String sql = "delete from staff where name = 'lili'";

// 创建用于执行静态sql语句的Statement对象,st属局部变量

st = (Statement) conn.createStatement();

// 执行sql删除语句,返回删除数据的数量

int count = st.executeUpdate(sql);

// 输出删除操作的处理结果

System.out.println("staff表中删除 " + count + " 条数据\n");

// 释放所连接的数据库及资源

st.close();

// 关闭数据库连接

conn.close();

} catch (SQLException e) {

System.out.println("删除数据失败");

}

}

/* 获取数据库连接的函数 */

public static Connection getConnection() {

// 创建用于连接数据库的Connection对象

Connection con = null;

try {

// 加载Mysql数据驱动

Class.forName("com.mysql.jdbc.Driver");

// 创建数据连接

con = DriverManager.getConnection("jdbc:mysql://localhost:3306/myuser", "root", "");

} catch (Exception e) {

System.out.println("数据库连接失败" + e.getMessage());

}

// 返回所建立的数据库连接

return con;

}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值