JDBC学习笔记
九月十八:
虽然能驱动了,但是仍然不知道当时为什么不能驱动, 8.0以上会自动驱动, 也就是说只需要做好connection和statement
连接数据库的五种方式:
方式五:
Statement:
SQL注入小案例:
? 相当于占位符
JDBCUtils:
事务与批处理:
String sql = "INSERT INTO users (name) VALUES (?)";
PreparedStatement pstmt = connection.prepareStatement(sql);
List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
for (String name : names) { pstmt.setString(1, name); // 设置第一个参数的值
pstmt.addBatch(); // 将此命令添加到批处理中 } // 执行批处理
int[] affectedRows = pstmt.executeBatch(); // 打印受影响的行数(可选)
for (int row : affectedRows) { System.out.println(row + " 行被插入。"); }
连接池:
Apache--DBUtils:
BasicDao:
软件分层是逻辑概念:
1.可以用不同包存放对应的类
2.各司其职
3.体现了一个调用关系
JavaBean中的属性名和表中的列名可以不一致,但是需要SQL语句做相应的改变: 用as语句将列名更改为和属性名相同, 规范保持一致
封装时是根据列名寻找对应的setter语句
总结 : 利用德鲁伊连接数据库(构造数据池) --> 通过Daomain(JavaBean)来映射表 --> 利用BasicDao来封装crud方法,利用了泛型(即每次javaBean对应的Dao要继承BasicDao并且指定泛型类型为JAvaBean)
在DAO上面会有对应的Service类,在类中声明对应的DAO对象来封装一些复杂的功能
再在Service上面的类中调用Service中的方法