JDBC
SUN公司为了简化开发人员的(对数据库的统一)操作,提供了一个(Java操作数据库
的)规范,俗称JDBC这些规范的实现由具体的厂商去做~
对于开发人员来说,我们只需要掌握JDBC接口的操作即可!
第一个JDBC程序
JDBC对象解释
DriverManager
// DriverManager.registerDriver(new com.mysq1.jdbc.Driver());
class.forName ("com.mysq1.jdbc.Driver");//固定写法,加载驱动
connection connection = DriverManager.getconnection(ur1,username,password);
// connection代表数据库
//数据库设置自动提交
//事务提交
//事务滚回
connection.ro11back();
connection.commit();
connection.setAutocommit();
Statement 执行SQL的对象 PrepareStatement 执行SQL的对象
string sql = "SELECT * FROM users";//编写SQL
statement.executequery();//查询操作返Resultset
statement.execute(); //执行任何SQL
statement.executeupdate();//更新、插入、删除。都是用这个,返回一个受影响的行数
ResultSet 查询的结果集,封装了所有的查询结果
获得指定的数据类型
resultset.getobject();//在不知道列类型的情况下使用
//如果知道列的类型就使用指定的类型
resultset.getstring();
resultset.getint();
resultset.getF1oat();
resultset.getDate();
resultset.getobject();
....
释放资源
ResultSet .close();
statement.close();
connection.close(); //耗资源,用完关掉
statement(不安全)
Jdbc中的statement对象用于向数据库发送SQL语句,想完成对数据库的增删改查,只需要通过这个对象向数据库发送增删改查语句即可。
SQL注入问题
sql存在漏洞,会被攻击导致数据泄露,SQL会被拼接or
PrepareStatement
- 更安全,可以防止sql注入,而且效率更高
- conn.prepareStatement(sql) 预编译SQL ,先写sql,然后不执行
- ? 要传参