栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JDBC 普通操作 预编译事务

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JDBC 普通操作 预编译事务

JDBC 1、什么是JDBC:

Java连接数据库

需要jar包的支持:

  • java.sql
  • javax.sql
  • mysql-conneter-java…连接驱动
2、实验环节搭建
//普通类插入
import java.sql.*;

public class TestJDBC {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        //配置信息
        String url = "jdbc:vertica://10.1.136.28:5433/VMart";
        String username = "* ";
        String password = "*";

        //1.加载驱动
        Class.forName("com.vertica.jdbc.Driver");
        //2 连接数据库,代表数据库
        Connection connection = DriverManager.getConnection(url, username, password);
        //3.向数据库发送sql的对象statement(普通的),PreparedStatement(预编译):用它作增删改查,即CRUD   
        Statement statement = connection.createStatement();
        //4.编写sql
        String sql = "select * from zjnu.yikatong";
        //5.执行查询sql,返回一个结果集
        ResultSet resultSet = statement.executeQuery(sql);
        int rowCount = 0;
        if (resultSet.next()) {
            rowCount = resultSet.getInt(0);
        }
        System.out.println(rowCount);
        //6.关闭连接,释放资源(一定要做),先开后关
        resultSet.close();
        statement.close();
        connection.close();
    }
}



//预编译插入
package com.zjnu;

import java.sql.*;

public class TestJDBC {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        //配置信息
        String url = "jdbc:vertica://10.1.136.28:5433/VMart";
        String username = "*";
        String password = "*";

        //1.加载驱动
        Class.forName("com.vertica.jdbc.Driver");
        //2 连接数据库,代表数据库
        Connection connection = DriverManager.getConnection(url, username, password);
        //3.编写sql
        String sql = "insert  into zjnu.yikatong(CardNO, AccName, Percode) values (?,?,?);";
        //4.预编译
        PreparedStatement preparedStatement = connection.prepareStatement(sql);
        preparedStatement.setInt(1,1);//给第一个占位符的值赋值为1;
        preparedStatement.setString(2,"狂神说java");//给第二个占位符的值赋值为1;
        preparedStatement.setInt(3,1020);//给第三个占位符的值赋值为1;
        //5 执行sql
        int i = preparedStatement.executeUpdate();
        if (i > 0) {
            System.out.println("插入成功");
        }
        //6.关闭连接,释放资源(一定要做),先开后关
        preparedStatement.close();
        connection.close();
    }
}

导入数据库依赖



    com.vertica.jdbc
    vertica-jdbc
    10.0.1-0

3、JDBC固定步骤

1、加载数据库

2、连接数据库,代表数据库

3、向数据库发送sql的对象Statement:CRUD

4、编写SQL(根据业务,不同的sql)

5、执行sql

6、结果集

7、关闭连接

4、事物

要么都成功,要么都失败

ACID原则:保证数据的安全

1:开启事物
2:事物提交 commit()
3:事物回滚 rollback()
4:关闭事物

依赖包介绍。junit 。

如果junit的@Test标签读取,请修改Scope的包范围


    
    junit
    junit
    4.12
    com.zjnu
    

@Test注解只有在方法上有效,只要加了这个注解的方法,就可以直接运行!

搭建一个单元测试环境

import org.junit.Test;

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

public class Test02 {
    @Test
    public void test() throws ClassNotFoundException, SQLException {
        //配置信息
        String url = "jdbc:vertica://10.1.136.28:5433/VMart";
        String username = "*";
        String password = "*";
        Connection connection = null;
        try {
            //1.加载驱动
            Class.forName("com.vertica.jdbc.Driver");
            //2 连接数据库,代表数据库
            connection = DriverManager.getConnection(url, username, password);
            //3. 通知数据库开启事务
            connection.setAutoCommit(false);
            String sql1 = "update zjnu.acc set money = money-100 where name='A'";
            String sql2 = "update zjnu.acc set money = money+100 where name='B'";
            connection.prepareStatement(sql1).executeUpdate();

            int i = 1 / 0;
            connection.prepareStatement(sql2).executeUpdate();
            connection.commit();//以上两条sql都执行成功了,就提交事物!
            System.out.println("success");
        } catch (Exception e) {
            //如果出现异常,就通知数据库回滚操作
            connection.rollback();
            e.printStackTrace();
        }finally {
            connection.close();
        }
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/924441.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号