JavaWeb学习笔记8

14 JDBC

JDBC java连接数据库
创建表
CREATE TABLE testdb(
id INT,
NAME VARCHAR(50)
);
连接数据库配置

<!--连接数据库-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.47</version>
</dependency>
import java.sql.*;

public class TestJDBC {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        //配置信息
        String url="jdbc:mysql://localhost:3306/douyin";
        String name="root";
        String pass="11111111";
        //1.加载驱动
        Class.forName("com.mysql.jdbc.Driver");
        //2.连接数据库
        Connection connection= DriverManager.getConnection(url,name,pass);
        //3.编写sql
        String sql="select * from testdb";
        //4.预编译 使用PreparedStatement可防止sql注入
        PreparedStatement preparedStatement=connection.prepareStatement(sql);
        //5.执行sql
        ResultSet resultSet = preparedStatement.executeQuery();
        while (resultSet.next())
        {
            System.out.println("name="+resultSet.getString("name"));
            System.out.println("name="+resultSet.getString("id"));
        }
        //6.关闭连接,释放资源
        preparedStatement.close();
        connection.close();
    }
}

JDBC步骤(PreparedStatement)
加载驱动–》连接数据库–》编写sql–》预编译sql–》执行sql–》释放资源,关闭连接
事务
要么都成功,要么都失败
ACID原则:保证数据的安全
开启事务–》事务提交commit()–》事务回滚rollback()–》关闭事务

import org.junit.jupiter.api.Test;

import java.sql.*;

public class TestJDBC2 {
    @Test
    public void updateData()
    {
        //配置信息
        String url="jdbc:mysql://localhost:3306/douyin";
        String name="root";
        String pass="11111111";
        Connection connection=null;
        //1.加载驱动
        try {
            Class.forName("com.mysql.jdbc.Driver");
        //2.连接数据库
        connection= DriverManager.getConnection(url,name,pass);
        //3.通知数据库开启事务
        connection.setAutoCommit(false);
        //4.编写sql
        String sql="update testdb set name='张三' where  id=1";
        //5.预编译 使用PreparedStatement可防止sql注入
        PreparedStatement preparedStatement=connection.prepareStatement(sql);
        //6.执行sql
        preparedStatement.executeUpdate();
        //7.提交事务
        connection.commit();
        //8.关闭连接,释放资源
        preparedStatement.close();
        connection.close();
        } catch (Exception e) {
            try {
                connection.rollback();
            } catch (SQLException ex) {
                ex.printStackTrace();
            }
            e.printStackTrace();
        }
    }
}

Junit单元测试
依赖

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.11</version>
    <scope>test</scope>
</dependency>

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

本课程详细讲解了以下内容:     1.jsp环境搭建及入门、虚拟路径和虚拟主机、JSP执行流程     2.使用Eclipse快速开发JSP、编码问题、JSP页面元素以及request对象、使用request对象实现注册示例     3.请求方式的编码问题、response、请求转发和重定向、cookie、session执行机制、session共享问题      4.session与cookie问题及application、cookie补充说明及四种范围对象作用域      5.JDBC原理及使用Statement访问数据库、使用JDBC切换数据库以及PreparedStatement的使用、Statement与PreparedStatement的区别      6.JDBC调用存储过程和存储函数、JDBC处理大文本CLOB及二进制BLOB类型数据      7.JSP访问数据库、JavaBean(封装数据和封装业务逻辑)      8.MVC模式与Servlet执行流程、Servlet25与Servlet30的使用、ServletAPI详解与源码分析      9.MVC案例、三层架构详解、乱码问题以及三层代码流程解析、完善Service和Dao、完善View、优化用户体验、优化三层(加入接口和DBUtil)     1 0.Web调试及bug修复、分页SQL(Oracle、MySQL、SQLSERVER)      11.分页业务逻辑层和数据访问层Service、Dao、分页表示层Jsp、Servlet      12.文件上传及注意问题、控制文件上传类型和大小、下载、各浏览器下载乱码问题      13.EL表达式语法、点操作符和中括号操作符、EL运算、隐式对象、JSTL基础及set、out、remove      14.过滤器、过滤器通配符、过滤器链、监听器      15.session绑定解绑、钝化活化      16.以及Ajax的各种应用      17. Idea环境下的Java Web开发
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页