首页 Java正文

Java - jdbc 驱动对MySql增删改查

webpro Java 2018-09-11 485 0

编译器:eclipse

步骤:

1、导入jdbc驱动包,jar包见文章结尾


2、一个数据库的简单操作流程大致分为以下几个操作

    a. 设置数据库连接参数

    b. 加载数据库驱动(捕捉错误)

    c. 连接数据库(捕捉错误)

    d. 构造sql语句

    e. 执行sql语句(捕捉错误)

    f. 获取记录集结果

    g.[关闭数据库连接](java有cc机制不需要手动关闭)


3、下面进行代码演示


演示数据库简要说明

名称
数据库名rtbook
表名rtb_member
包含字段1userid
包含字段2phone
包含字段3activeTime


3.1.数据库连接

package my;

import java.sql.*;
import java.util.Date;
import java.text.SimpleDateFormat;

public class HelloWorld {

  // 参数配置
  private static final String dbName    =   "rtbook";
  private static final String URL       =   "jdbc:mysql://127.0.0.1:3306/" + dbName + "?useUnicode=true&characterEncoding=UTF-8";
  private static final String className =   "com.mysql.jdbc.Driver";
  private static final String user      =   "root";
  private static final String password  =   "root";
  // 数据库句柄
  private static Connection conn;
    public static void main(String[] args) {
		/*
		 * 测试顺序
		 * 查询
		 * 插入
		 * 修改
		 * 删除
		 */
		// 为了检验每次的执行效果,执行SQL语句完毕后都会输出表的数据视图
		
		// 连接数据库
		jdbcConnect();
		// 测试查询
		// testSelect();
		// 测试插入
		// testInsert();
		// 测试修改
		// testUpdate();
		// 测试删除
		// testDelete();
		System.out.println("done");
	}
}

其中下面这段GET参数,用来设置连接编码为utf-8

useUnicode=true
characterEncoding=UTF-8

/* 数据库连接操作 */

public static int jdbcConnect() {     
        // 加载JDBC驱动
        try {
        	Class.forName(className);
        	System.out.println("JDBC Load SUCCESS");
        }catch(ClassNotFoundException e) {
        	// 捕捉到错误
        	System.out.println("JDBC Load error!" + e);
        	return 1;
        }
        // 连接至数据库
        try {
        	conn = DriverManager.getConnection(URL, user, password);
        	System.out.println(dbName + "opened SUCCESS");
        	return 0;
        }catch(SQLException e) {
        	// 捕捉到错误
        	System.out.println(dbName + "opened error!" + e);
        	return 2;
        }
}

/* 数据查询 */

public static void testSelect() {
	try {
		// 构造SQL语句
		sql = conn.prepareStatement("SELECT * FROM `rtb_member` WHERE `userid` > 1");
		// 执行SQL语句
		res = sql.executeQuery();
		// 输出表头
		System.out.println( "编号" + "\t" + "手机" + "\t" + "注册时间" );
		// 遍历结果集
		while(res.next()) {
			String userid = res.getString("userid");
			String phone = res.getString("phone");
			String activeTime = res.getString("activeTime");
			System.out.println(userid + "\t" + phone + "\t" + activeTime);
		}
	}catch(SQLException e) {
		// 捕捉到错误
		System.out.println("select execute error, err_msg:" + e);
	}
}

运行结果

select.JPG

/* 数据插入 */

public static void testInsert() {
	try {
		// 获取注册时间
		Date day = new Date();
		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		String nowTime = df.format(day);
		// 构造SQL模板
		sql = conn.prepareStatement("INSERT INTO `rtb_member` (`phone`, `activeTime`) VALUES (? ,?)");
		// 填充模板
		sql.setString(1, "123456");
		sql.setString(2, nowTime);
		// 执行SQL语句
		sql.executeUpdate();
		System.out.println("insert execute SUCCESS");
	}catch(SQLException e) {
		// 捕捉到错误
		System.out.println("insert execute error, err_msg:" + e);
	}
}

运行结果

insert.JPG

/* 数据修改 */

public static void testUpdate() {
	try {
		// 构造SQL模板
		sql = conn.prepareStatement("UPDATE `rtb_member` SET `phone`=? WHERE `phone`=?");
		// 填充SQL模板
		sql.setString(1, "654321");
		sql.setString(2, "123456");
		// 执行SQL语句
		sql.executeUpdate();
		System.out.println("update execute SUCCESS");
	}catch(SQLException e) {
		// 捕捉到错误
		System.out.println("update execute error, err_msg:" + e);
	}
}

运行结果

update.JPG

/* 数据删除 */

public static void testDelete() {
	try {
		// 构造SQL模板
		sql = conn.prepareStatement("DELETE FROM `rtb_member` WHERE `phone`=?");
		// 填充SQL模板
		sql.setString(1, "654321");
		// 执行SQL语句
		sql.executeUpdate();
		System.out.println("delete execute SUCCESS");
	}catch(SQLException e) {
		// 捕捉到错误
		System.out.println("delete execute error, err_msg:" + e);
	}
}

运行结果

delete.JPG

===================================================


下面附上jdbc的jar包


JDBC.zip



版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

评论

运行

«   2019年11月   »
123
45678910
11121314151617
18192021222324
252627282930

WebPro统计

Top