• 今日总结


    2020年10月26日:
    使用treadlocal来管理同一事务进行操作:
    在完成项目的时候,有时一项工作需要几个事务共同完成来保证正常的运行,因此需要使用threadlocal来管理同一个数据库连接,以此来保证事务的正常运行。以下是我写的管理数据库连接的代码:

    package shujuku;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    public class shuju {
    private static ThreadLocal<Connection> conns=new ThreadLocal<Connection>();
    public static Connection getConnection()
    {
    Connection conn=conns.get();
    try {
    Class.forName("com.mysql.cj.jdbc.Driver");
    } catch (ClassNotFoundException e1){
    e1.printStackTrace();
    }
    if(conn==null){
    try {
    conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/kecheng?serverTimezone=UTC","root","150023");
    conns.set(conn);
    conn.setAutoCommit(false);
    } catch (SQLException e) {
    e.printStackTrace();
    }
    }
    return conn;
    }
    public static void close(Connection connection)
    {
    try {
    if (connection != null)
    {
    connection.close();
    }
    } catch (SQLException e) {
    e.printStackTrace();
    }
    }
    public static void commitAndclose() {
    Connection connection=conns.get();
    if(connection!=null) {
    try {
    connection.commit();
    } catch (SQLException e) {
    e.printStackTrace();
    }finally {
    try {
    connection.close();
    } catch (SQLException e) {
    e.printStackTrace();
    }
    }
    }
    conns.remove();
    }
    public static void rollbackAndclose() {
    Connection connection=conns.get();
    if(connection!=null) {
    try {
    connection.rollback();
    } catch (SQLException e) {
    e.printStackTrace();
    }finally {
    try {
    connection.close();
    } catch (SQLException e) {
    e.printStackTrace();
    }
    }
    }
    conns.remove();
    }
    }

    此段代码用于数据库连接,并将事务设置为了手动提交,而且使用了threadlocal来进行管理,这样一来就不用担心事务会发生错误了。

  • 相关阅读:
    HTML编写需要注意的事项
    Java中this、super用法
    多态性的表现形式
    面向对象
    用java实现冒泡排序法
    第一堂java web课
    mysql 复制中的 paxso 的两阶段和事务两阶段的区别
    github删除仓库
    git的介绍及使用
    github的介绍
  • 原文地址:https://www.cnblogs.com/yitiaokuailedexiaojingyu/p/14117841.html
Copyright © 2020-2023  润新知