date: 2018/4/8 1:33:12
文章转载苏鹏
JDBC应用实战
1. 创建数据模型类
StuInfo类和StuMarks类
2.1. DB类结构
属性:连接对象、操作对象
方法:得到操作的方法、关闭方法
2.2. 驱动类名和链接地址太长记不住怎么办?
利用MyEclipse自带功能
2.3. 关闭方法
2.3.1. 先进后出原则
2.3.2. 关闭前要先判断对象有没有被使用(!=null)
3. 创建数据访问类
3.1. StuDao类结构
属性:DB类对象、数据模型类对象
方法:增、删、改、查一个、查全部、按条件查
4. 测试类
测试前面写的方法是否能正常运行
4.1. ‘ or ‘1’=1’1 和';drop table表名; 的问题(SQl注入)
4.2. Statement 和 PreparedStatement的区别
Statement:直接发送sql语句,在创建对象之后传入sql语句
PreparedStatement:预编译SQl语句,通过占位符‘?’传入参数,在创建对象时需要传入预编译sql语句(带占位符的)
4.3. 获得PreparedStatement对象
pst=conn.prepareStatement(sql);
4.4. setString()、setInt()、...方法
给预编译SQl语句的占位符赋值,需要两个参数(占位符的顺序, 替换占位符的值)
4.5. finally关键字
用在try...catch..块后面,finally块中的代码不论是否有异常,都会被执行
一个try...catch...后面只能有一个finally块
5. 查询多条信息的方法
5.1. 每条记录是一个对象,多条记录要用对象数组来存储
StuInfo[] stuInfo ;
stuInfo = new StuInfo[num]
StuMarks stuMarks;
stumarks = new StuMarks[num]
6. 数组的长度如何确定?
先查询结果集的总行数
select count(*) from stuInfo
得到总行数在初始化对象数组
7. 遍历输出的偷懒写法(不需要下标时使用)
foreach循环(增强for循环)的格式
for(数据类型 标识符 :数组名){
...
}
8. 无
9. 常见问题
9.1. SQL语句中空格的问题
在java中写sql语句时,关键字前后空格容易遗忘,建议多敲几个空格
9.2. 字符串的比较
字符串的比较必须用 equals() 方法 例:字符串1.equals(字符串2)
9.3. 字符串前后空格问题
java: 字符串.trim() //消除字符串前后空格
SqlServer: Ltirm(字段名) //消除开头空格
Rtirm(字段名)//消除结尾空格
9.4. 结果集的关闭问题