JDBC
- 介绍JDBC
- 程序(Statement)
- 相关细节
- URL
- ResultSet
- 连接池
- 程序(PreparedStatement)
本文主要记录一下学习JDBC的一些知识点
介绍JDBC
首先谈谈什么是JDBC。下面放几张图,大致就可以清楚JDBC了。
程序(Statement)
直接看程序,学习JDBC的基本操作。
public static void main(String[] args) throws ClassNotFoundException, SQLException {//1.加载驱动Class.forName("com.mysql.jdbc.Driver");//2.用户信息和urlString url = "jdbc:mysql://localhost:3306/jdbcstudy?useUnicode=true&characterEncoding=utf8&useSSL=true";String username = "root";String password = "123456";//3.连接成功,数据库对象 Connection代表数据库Connection connection = DriverManager.getConnection(url, username, password);//4.执行SQL的对象Statement 执行sql的对象Statement statement = connection.createStatement();//5.执行SQL的对象 去执行SQLString sql = "SELECT * FROM users";ResultSet resultSet = statement.executeQuery(sql);while (resultSet.next()){System.out.println(resultSet.getObject("id"));System.out.println(resultSet.getObject("NAME"));System.out.println(resultSet.getObject("password"));}resultSet.close();connection.close();}
相关细节
URL
ResultSet
连接池
程序(PreparedStatement)
PreparedStatement可以预防SQL注入问题
@Test
public void testPreparedStatement() throws Exception {//2. 获取连接:如果连接的是本机mysql并且端口是默认的 3306 可以简化书写String url = "jdbc:mysql:///db1?useSSL=false";String username = "root";String password = "1234";Connection conn = DriverManager.getConnection(url, username, password);// 接收用户输入 用户名和密码String name = "zhangsan";String pwd = "' or '1' = '1";// 定义sqlString sql = "select * from tb_user where username = ? and password = ?";// 获取pstmt对象PreparedStatement pstmt = conn.prepareStatement(sql);// 设置?的值pstmt.setString(1,name);pstmt.setString(2,pwd);// 执行sqlResultSet rs = pstmt.executeQuery();// 判断登录是否成功if(rs.next()){System.out.println("登录成功~");}else{System.out.println("登录失败~");}//7. 释放资源rs.close();pstmt.close();conn.close();
}
参考的相关博客:
今日学习知识:JDBC(Java数据库连接)
JDBC详解
JDBC 是什么?怎么使用?3万字笔记来袭