使用jdbc连接数据库

1.导入jar包 mysql-connector-java-5.1.7-bin.jar。并加入到环境中。

2.注册驱动,获取连接

//注册驱动
Class.forName("com.mysql.jdbc.Driver");//com.mysql.jdbc.Driver mysql驱动

//获取链接 con = DriverManager.getConnection("jdbc:mysql:///数据库名称", "账号", "密码");

3.不推荐使用Statement对象执行sql语句,有sql注入的风险。

@Test
    public void test(){
        String sql = "select * from t_user WHERE id ="+1;
        try {
            Statement stmt = con.createStatement();
            ResultSet set = stmt.executeQuery(sql);
            while(set.next()){
                int id = set.getInt("id");
                String user_name = set.getString("user_name");
                String password = set.getString("password");
                System.out.println(id+"**"+user_name+"**"+password);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

4.推荐使用PrepareStatement对象执行sql语句

@Test
    public void test02(){
        String sql = "select * from t_user WHERE id = ?";
PrepareStatement ps = null;
try { ps = con.prepareStatement(sql); ps.setInt(1,1); ResultSet set = ps.executeQuery(); while(set.next()){ int id = set.getInt("id"); String user_name = set.getString(2); String password = set.getString("password"); System.out.println(id+"**"+user_name+"**"+password); } } catch (SQLException e) { e.printStackTrace(); }
finally{
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
1. executeQuery();返回一个ResultSet结果集
2. execute(); //返回类型为boolean,是否执行成功
3. executeUpdate(); //返回int类型,是影响的行数
4.setXxx(... , ...);对问号进行赋值
  Xxx:代表数据类型
  两个参数第一个参数是对应第几个?号占位符下标从1开始,第二个是赋的值
5.getXxx(...);获取对应的字段的值
  Xxx:代表数据类型
  参数可以写数据库中的字段名,也可以写序号下标从1开始

6.关闭连接 close();
  前面后执行那个就先关闭那个,上面从上往下执行,关闭的时候就从下往上关闭。

原文地址:https://www.cnblogs.com/Difcipo/p/14014772.html