JDBC基础使用

来源:互联网 发布:实体店数据分析 编辑:程序博客网 时间:2024/05/02 17:28

定义DBManager类用于管理数据库连接

import java.sql.*;public class DBManager {    //连接对象(单例)    private static Connection conn=null;    //驱动名用于加载不同数据库的jdbc驱动    private static final String   DRIVER="com.microsoft.sqlserver.jdbc.SQLServerDriver";    //数据库链接url    private static final String URL="jdbc:sqlserver://128.0.43.120:1433;databasename=db_test";    //账号名    private static final String USERNAME="sa";    //密码    private static final String USERPWD="admin123";    //静态块加载jdbc驱动    static {        try {            Class.forName(DRIVER);        } catch (ClassNotFoundException e) {            e.printStackTrace();        }    }    //获取到连接实例    public static Connection getConnection(){        try {            if(conn==null||conn.isClosed()){                conn=DriverManager.getConnection(URL,USERNAME,USERPWD);            }        } catch (SQLException e) {            e.printStackTrace();        }        return conn;    }    //关闭连接    public static void close(Connection conn,Statement st,ResultSet rs){        try {            if(rs!=null)                rs.close();            if(st!=null)                st.close();            if(conn!=null)                conn.close();        } catch (Exception e) {            e.printStackTrace();        }    }}

sql执行过程

import java.sql.*;public class TestSelect {    public static void main(String[] args) {        Connection conn=DBManager.getConnection();        ResultSet rs=null;        int cnum=1021;        String sql="select * from tb_courses where course_num=?";        //若无需提供参数使用Statement即可        //PreparedStatement可以防止sql注入        PreparedStatement ps=null;        try {             ps=conn.prepareStatement(sql);             ps.setInt(1, cnum);             rs=ps.executeQuery();             //executeUpdate返回sql作用行数             //execute返回boolean             if(rs.next()){                 cnum=rs.getInt(1);                 String name=rs.getString(2);                 System.out.println("课程编号:"+cnum+"\t课程名称:"+name+"\t课程学分:"+rs.getInt(3));             }             DBManager.close(conn, ps, rs);        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }}
0 0
原创粉丝点击