JDBC是java领域最重要、最基础的知识
JDBC入门
快速上手JDBC
标准JDBC开发五步骤
public class StandardJDBC {
public static void main(String[] args) {
//1.加载并注册JDBC驱动
Connection conn=null;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
//2.创建数据库连接
conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/imooc?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai",
"root", "123456"
);
//3.创建statement对象
Statement stmt=conn.createStatement();
ResultSet rs =stmt.executeQuery("select * from employee ");
// 4.遍历查询结果
while (rs.next()){
Integer eno=rs.getInt(1);//将当前行第一列的数据作为整型进行获取
String ename=rs.getString("ename");
Float salary=rs.getFloat("salary");
String dname=rs.getString("dname");
System.out.println(dname+"-"+ename+"-"+eno+"-"+salary);
}
}catch (Exception e){
e.printStackTrace();
}
// 5.关闭连接,释放自愿
finally {
try{
if (conn !=null &&conn.isClosed()==false){
conn.close();
}}catch (Exception e){
e.printStackTrace();
}
}
}
}
精讲JDBC开发细节
SQL注入攻击
一个结果为true的正确的内容作为字符串拼接到sql语句中后,where语句的条件恒成立,这样即使用户名称等内容不正确也可以成功查询,导致sql语句出现漏洞。
JDBC工具类的抽取及增删改
JDBC的事务操作
Data日期对象的处理
data:只保留到天
datatime:保留到具体时间
java.sql.date 继承自java.util.date
字符串到java.sql.date的转换:
JDBC数据批处理
连接池与JDBC进阶使用
Connection使用连接池和不使用连接池时调用close方法的逻辑不一样
实际工作中一般是把initialsize和maxActive设置成一样的。
C3p0:需要新建一个xml文件,文件名为c3p0-config.xml
xml文件不能识别&符号,需要将其转义为:&