对JDBC的封装,模板使用等等。

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

public class Base_Jdbc {

    public static void main(String[] args) throws Exception {
        test_01();
    }

    static void test_01() throws Exception {    //加上jdbc的工具类  JdbcUtils  

        Connection conn = null;
        Statement st = null;
        ResultSet rs = null;
        try {
            //1 注册驱动  --jdbcUtils中
            //2 建立连接
            conn = JdbcUtils.getConnection();
//            conn = JdbcUtilsSing.getInstance().getConnection();     //--->单例模式
            //3 创建语句
            st = conn.createStatement();
            //4执行语句
            rs = st.executeQuery("select * from dept");
            //5 处理结果
            while (rs.next()) {
                System.out.println(rs.getObject(1) +"\t"+ rs.getObject(2) +"\t"+ rs.getObject(3));
            }
        } finally {
            JdbcUtils.free(rs, st, conn);
        }
    }

    /*static void test() throws SQLException, ClassNotFoundException {  //初级jdbc模板代码
        //1注册驱动
        DriverManager.registerDriver(new com.mysql.jdbc.Driver());
        Class.forName("com.mysql.jdbc.Driver");//--->土建使用这种建立驱动,所建立驱动少 效率——
        //2 建立连接
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/xyt","root","xuyingtao");
        //3 创建语句
        Statement st = conn.createStatement();
        //4执行语句
        ResultSet rs = st.executeQuery("select * from dept");
        //5 处理结果
        while (rs.next()) {
            System.out.println(rs.getObject(1) +"\t"+ rs.getObject(2) +"\t"+ rs.getObject(3));
        }
        //6 释放资源
        rs.close();
        st.close();
        conn.close();
    }*/
}
里写代码片

下面是jdbc的工具类


/**
 * 对jdbc的封装
 */
public final class JdbcUtils {
    private static String url = "jdbc:mysql://localhost:3306/xyt";
    private static String user = "root";
    private static String password = "xuyingtao";
    private JdbcUtils() {

    }

    static {  //静态代码块  注册驱动
        try {
            // 1注册驱动
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            throw new ExceptionInInitializerError(e);
        }
    }

    public static Connection getConnection() throws SQLException {
        return DriverManager.getConnection(url,user,password);
    }

    public static void free(ResultSet rs, Statement st, Connection conn) {   //释放资源  封装
        try {
            if (rs != null)
                rs.close();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            try {
                if (st != null)
                    st.close();
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                if (conn != null) {
                    try {
                        conn.close();
                    } catch (SQLException e) {
                        e.printStackTrace();
                    }
                }
            }
        }
    }
}

利用一个工具类使jdbc更加完整。同时还有其他的方式来封装jdbc中的步骤等等,可以使用单例,还有静态代码块等等,这里不列举,个人觉得这个模板对jdbc基础的操作是够用了。

对数据库的CURD

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
/**
 * 数据库的增删改查 crud
 * @author 双鱼丶
 *
 */
public class CURD {
    public static void main(String[] args) throws Exception {
//      create();
//      read();
//      update();
        delete();

    }

    static void create() throws Exception {   

        Connection conn = null;
        Statement st = null;
        ResultSet rs = null;
        try {
            //1 注册驱动  --jdbcUtils中
            //2 建立连接
            conn = JdbcUtils.getConnection();
//            conn = JdbcUtilsSing.getInstance().getConnection();     //--->单例模式
            //3 创建语句
            st = conn.createStatement();
            String sql = "insert into tt(name, gender, address)values('mm', '1', '安徽合肥')";
            //4执行语句
            int i = st.executeUpdate(sql);//返回的是执行多少条语句 即 int值

            //5处理结果
            System.out.println("i=" + i);
        } finally {
            JdbcUtils.free(rs, st, conn);
        }
    }

    static void read() throws Exception {   

        Connection conn = null;
        Statement st = null;
        ResultSet rs = null;
        try {
            //1 注册驱动  --jdbcUtils中
            //2 建立连接
            conn = JdbcUtils.getConnection();
//          conn = JdbcUtilsSing.getInstance().getConnection();     //--->单例模式
            //3 创建语句
            st = conn.createStatement();
            //4执行语句
            rs = st.executeQuery("select id, name, gender, address from tt");
            //5 处理结果
            while (rs.next()) {
                System.out.println(rs.getObject("id") +"\t"
                + rs.getObject("name")
                +"\t"+ rs.getObject("gender") + "\t" +rs.getObject("address"));
            }
        } finally {
            JdbcUtils.free(rs, st, conn);
        }
    }

    static void update() throws Exception {   

        Connection conn = null;
        Statement st = null;
        ResultSet rs = null;
        try {
            //1 注册驱动  --jdbcUtils中
            //2 建立连接
            conn = JdbcUtils.getConnection();
//            conn = JdbcUtilsSing.getInstance().getConnection();     //--->单例模式
            //3 创建语句
            String sql = "update tt set address = '安徽安庆'";
            st = conn.createStatement();
            //4执行语句
            int i = st.executeUpdate(sql);
            //5 处理结果
            System.out.println("i=" + i);
        } finally {
            JdbcUtils.free(rs, st, conn);
        }
    }

    static void delete() throws Exception {   

        Connection conn = null;
        Statement st = null;
        ResultSet rs = null;
        try {
            //1 注册驱动  --jdbcUtils中
            //2 建立连接
            conn = JdbcUtils.getConnection();
//            conn = JdbcUtilsSing.getInstance().getConnection();     //--->单例模式
            //3 创建语句
            String sql = "delete from tt where id>6";
            st = conn.createStatement();
            //4执行语句
            int i = st.executeUpdate(sql);
            //5 处理结果
            System.out.println("i=" + i);
        } finally {
            JdbcUtils.free(rs, st, conn);
        }
    }
}

你可能感兴趣的:(随手,JDBC)