jdbc
import java.sql.*;
/**
* JDBC:
* JDBC是sun公司提出的一组规范,主要由接口组成 作用:访问数据库
* Java有13种规范
* 接触过有 JDBC servlet jsp xml javamail jms
* Statement和PreparedStatement的联系与区别:
* PreparedStatement是Statement的子接口,作用于Statement的作用一样,都是用来发送sql语句
* 特点:PreparedStatement可以发送参数化sql语句
* 区别:PreparedStatement可以防止sql注入
* SQL注入:
* 一些非法分子或者黑客利用一些特殊的字符串拼接的方式,注入到系统原有的sql语句中,改变原有的Sql逻辑
* JDBC能否执行DDL:
* 可以执行
* JDBC中的事务控制:
* JDBC中事务是执行完成后默认自动提交
* ResultSet:
* ResultSet保存了查询到的结果逻辑上是一张二维表的结构保存,在ResultSet上有一个游标,游标的初始位置
* 在第一行数据的前一行(表头),每次调用一次.next(),游标就会向下移动,移动的方法返回值是blooean类
* 型,返回为true时,说明游标行有数据,返回为false时,说明当前游标的位置在最后一行数据的后一行(表尾)
*/
public class TestJDBC {
//定义mysql的驱动程序
private static final String DBDRIVER="com.mysql.jdbc.Driver";
//定义mysql的用户
private static final String DBUSERNAME="root";
//定义mysql的登录密码
private static final String DBPASSWORD="root";
//定义mysql的连接地址
private static final String DBURL="jdbc:mysql://localhost:3306/cmfz";
//定义sql语句
private static final String SQL="SELECT * FROM CMFZ_ADMIN WHERE NAME =?";
public static void main(String[] args){
Connection connection=null;
PreparedStatement preparedStatement=null;
ResultSet resultSet=null;
try {
//1.加载驱动
Class.forName(DBDRIVER);
} catch (Exception e) {
e.printStackTrace();
}
try {
//2.获取连接
connection=DriverManager.getConnection(DBURL,DBUSERNAME,DBPASSWORD);
//3.创建PreparedStatement
preparedStatement = connection.prepareStatement(SQL);
preparedStatement.setString(1,"zhangsan");
//4.执行sql
resultSet = preparedStatement.executeQuery();
//5.处理结果集
while (resultSet.next()){
String id = resultSet.getString(1);
String username = resultSet.getString(2);
String password = resultSet.getString(3);
System.out.println("id: "+id+" usename: "+username+" password: "+password);
}
} catch (SQLException e) {
e.printStackTrace();
}
//6.关闭资源
try {
resultSet.close();
preparedStatement.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
来源:CSDN
作者:ghost.horse
链接:https://blog.csdn.net/weixin_45522160/article/details/104651553