- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JDBC_XML总结
JDBC_XML
主讲:程祖红
以下笔记均为我本人亲自整理,若有描述不对或代码错误,请同学们及时更改一下,重新上传上去,谢谢!
导航
JDBC
DAO
批处理
事务
分页
XML
XML的基本语法
XML的解析
XML的设计:DTD
XML的设计:XPATH
JDBC
1、什么是jdbc?
全称:java database conectivity
sun公司制订的一种用来访问数据库的通用的api,这些api由不同的数据库厂商来实现,这样,开发人员
就可以使用相同的方式来访问不同的数据库。
2、如何使用jdbc?
(1)三个重要的对象
a, Connection: 负责建立连接(java程序与数据库之间的连接)
b, Statement:负责发送sql给数据库(Statement由Connection来创建)
PreparedStatement 下面详解;
c, ResultSet: 负责封装数据库返回的查询的结果。
(2)编程步骤
step1, 加载驱动(需要事先将驱动程序对应的jar文件放到classpath对应的路径)
驱动:就是不同的数据库厂商实现的api程序。
语法:Class.forName(驱动类名);
step2,获得连接
语法:Connection conn = DriverManager.getConnection(url,user,pwd);
url:数据库所在的机器在的ip,端口,sid
user:用户名
pwd:密码
step3, 获得Statement
语法:Statement stat = conn.creatStatement();
step4, 执行SQL
a, 执行查询
语法:ResultSet rst = stat.executeQuery(SQL);
b,执行删除、更新、插入
int stat.executeUpdate(SQL);
step5,如果是查询,需要遍历ResultSet
遍历: 将查询的结果一条一条取出来,获取其中的数据。
3、Mmysql
(1)简单使用
1)登录mysql(使用root用户): mysql -uroot;
2)查看当前有哪些数据库: show databases;
3)创建一个数据库 (名叫jd1305db(数据库名),缺省的字符集是utf8)
create database jd1305db default character set utf8;
4) 使用某个数据库:use jd1305db(数据库名);
5) 查看当前数据库有哪些表: show tables;
6) 建表:create table t_user(id int primary key auto_increment,username varchar(50),pwd varchar(30),age int )type=innodb;
插入数据:insert into t_user(username,pwd,age) values(jetty,test,23);
注意:auto_increment: 自增长列,即该列的值由数据库自动赋值,一般用于主健的生成。
type=innodb: 表示该表支持事务。Mysql 独有特性
4、使用jdbc访问数据库,常见的错误
(1) 参数错误
(2) 驱动程序(jar文件)不合适,或者没有放到classpath路径里面。
(3) sql语句错误
5、PreparedStatement (预编译的Statement) Statement的子类
1)sql注入问题:
通过刻意构造一些参数值,来改变系统原有sql语句的结构,从而达到破坏系统的目的(比如,非法获取系统敏感的数据,非法登录等等)
2)PreparedStatement
a,PreparedStatement是如何执行的?
重点 特点step1, sql语句先发送给数据库,数据库会生成一个执行计划(预编译)
step2, 将参数值发送给数据库,执行sql。
b,优点
b1: 防止sql注入
因为PreparedStatement执行的sql语句结构是不会改变的。
b2:如果有多条结构相同的sql语句要 执行,则PreparedStatement执行效率要比Statement高。
在增删改查语句中,常见方法:
Next() 方法的含义是:将指针向下移动一位,如果返回值为true,表示当前有记录可以读取。
executeQuer
文档评论(0)