Jdbc数据库访问技术

8 篇文章 0 订阅

1.假设con为已经创建的数据库连接的对象,则利用con对象创建 SQL执行语句对象
(1)创建Statement的执行对象

Statement stmt = con.createStatement();//该语句不需sql语句

eg1:

Statement stmt=con.createStatement();//stmt数据库操作对象
String sql="insert into student(name,age,sex,weight,height) ('Lisa',18,'girl',50,170)";
int n=stmt.excuteUpdate(sql);

(2)创建PreparedStatement

PreparedStatement pst=con.prepareStatemnet(sql);//需要sql语句作为参数,可使用具有占位符的sql语句

eg2:

String sql="insert into student(name,age,sex,weight,height)values(?,?,?,?,?)";
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt.setString(1,'Lisa');
pstmt.setInt(2,18);
pstmt.setString(3,'girl');
pstmt.setFloat(4,'50');
pstmt.setFloat(5,'170');
int n=pstmt.excuteUpdate();

2.jdbc访问数据库的流程
1)查询
创建驱动
(1)建立数据库的连接。
(2)形成查询SQL语句(可以带参数,也可以不带参数。)
(3)利用连接对象建立PreparedStatement对象。
(4)若是带参数的SQL执行语句,则需要对各参数设置相应的参数值(若SQL语句不带参数,该步可以省)。
(5)再调用PreparedStatement对象的executeQuery()方法,并返回ResultSet对象。
(6)对所得到的ResultSet对象中的各记录依次进行处理。
(7)关闭所有资源
2)增,删,改
创建驱动
(1)建立数据库的连接。
(2)形成查询SQL语句(可以带参数,也可以不带参数。)
(3)利用连接对象建立PreparedStatement对象。
(4)若是带参数的SQL执行语句,则需要对各参数设置相应的参数值(若SQL语句不带参数,该步可以省)。
(5)再调用PreparedStatement对象的executeUpdate()方法,并返回n对象。
(6)对所得到的n对象中的各记录依次进行处理。
(7)关闭所有资源

3.要求在表student中,查询出体重介于60至80之间的所有同学并在网页上显示。
(1)用带参数的Sql语句实现

String sql="select * from student where weight>=? and weight<=?"
pstmt.setFloat(1,60);
pstmt.setFloat(2,80);

(2)用不带参数的sql语句实现

String sql="select * from student where weight>=60 and weight<=60?"
PreparedStatement pstmt=conn.preparedstatement(sql);
Resultset rs=pstmt.excuteQuery();

4.将数据库students中数据表student中的学生记录,姓名为“张三”的同学的体重改为80.0。

String sql="update student set weight=? where name=?";
pstmt.setFloat(1,80);
pstmt.setString(2,'张三');

5.采用PreparedStatement的对象,实现将数据表stu_info中体重大于等于80的所有同学删除。

String sql="delete from student where weight>=?";
pstmt.setFloat(1,80);

6.在这里插入图片描述
所涉及到的类
驱动程序接口Driver
驱动程序管理器DriverManager
数据库连接接口Connection
执行SQL语句接口Statement
执行动态SQL语句接口PreparedStatement
访问结果集接口ResultSet

1)注册驱动MySQL的驱动程序
(1) 将驱动程序mysql-connector-java-5.1.6-bin,拷贝到Web应用程序的WEB-INF\lib目录下,Web应用程序就可以通过JDBC接口访问MySQL数据库了。
(2) 对于MySQL数据库,其驱动程序加载格式:
Class.forName(“com.mysql.jdbc.Driver”);
其中,“com.mysql.jdbc.Driver”为MySQL数据库驱动程序类名。
2)JDBC连接数据库创建连接对象
对于MySQL数据库的连接符号字,可采用如下方式创建:

String url1=“jdbc:mysql://数据库服务器IP:3306/数据库名”;
String url2="?user=root&password=密码";
String url3="&useUnicode=true&characterEncoding=UTF-8";
String url=url1+url2+ url3;
省略了一些步骤。。。。。。。。
3)释放资源
当完成对数据库记录的一次操作后,应及时关闭这些对象并释放资源。
假设建立的对象依次为:连接对象为conn(Connection conn),操作对象为pstmt (PreparedStatement pstmt),得到的查询结果集对象为rs(RrsultSet rs),则需要依次关闭的对象是:
rs.close();
stmt.close();
con.close();

此处放上连接数据库的固定代码(公式)

String driverName="com.mysql.jdbc.Driver";//程序驱动名
String userName="root";
String userPwd="123456";
String dbName="student";
String url1="jdbc:mysql://localhost:3306/"+dbName;
String url2="?user="+userName+"&password="+userPwd;
String url3="&useUnicode=true&characterEncoding=UTF-8";
String url1+url2+url3;
Class.forName(driverName);//加载并注册驱动
Connection conn=DriverManager.getConnection(url)://获取数据库连接对象

8.解决乱码问题
<% request.setCharacterEncoding(“utf-8”);%>

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值