JDBC编程技术基本-数据库访问示例

    JDBC(Java DataBase Connectivity standard)是一种可用于执行SQL语句的JavaAPI(Java应用程序接口),使开发人员可以用纯Java语言编写完整的数据库应用程序。通过JDBC,编程人员可以很方便地将SQL语句传送给几乎任何一种数据库。这里我用到的数据库是MYSQL,各种数据库相关操作都是差不多的。

    简单的说,JDBC可以完成下面三件事:

    1:同一个数据库建立连接。

    2:向数据库发送SQL语句。

    3:处理数据库返回的结果。

    前面我说过的我们常用的项目都需要连接数据库来管理,这里就分享给大家怎样连接数据库及其一些基本的操作。

第一步:将驱动程序导入到工程,程序中加载驱动。

    简单的说就是把:mysql-connector-java-5.1.7-bin.jar驱动文件加载到项目中,驱动可以在网上下载。在程序中只需添加如下两句代码就可以了:

String driver="com.mysql.jdbc.Driver";  //驱动程序描述字符串

Class.forName(driver);  //在程序中加载驱动程序

第二步:创建连接对象Connection。

String url="jdbc:mysql://localhost:3306/support";  //3306是安装数据库时的端口号,support是我的数据库名。

Connection con=DriverManager.getConnection(url,"root","123456");  //root是连接数据库用户名,123456是我的数据库密码,根据实际情况修改。

第三步:在连接对象上创建命令对象Statement。

Statement cmd=con.createStatement();

第四步:执行SQL语句。

String sql="select * from student";

    执行SQL语句后有一个返回结果集ResultSet。

ResultSet rs=cmd.executeQuery(sql);

rs.next();  //移动结果集,指向下一行

rs.getString(1);  //取结果集第一列,其中第一列数据类型为String。

这样就可以获取到数据库的信息,执行相关的操作了。

第五步:关闭连接。

con.close();

一个完整的JDBC编程基础就是这样,我们首先要在数据库里面有相关的信息,然后运用JDBC连接数据库-向数据库发送SQL语句-得到返回结果,来执行我们想要的操作,比如登录验证、用户注册什么的,这些我在以后再给大家分享。

现在我把数据库访问的示例给大家分享。当然其中还有一些问题我始终解决不了。

package javaDBC_test;
import java.sql.*;
public class DB_test {
	public static void main(String[] args) throws Exception {
		Class.forName("com.mysql.jdbc.Driver");  //将驱动程序导入工程
		//创建连接对象
		String url="jdbc:mysql://localhost:3306/support";
		Connection con=DriverManager.getConnection(url,"root","123456");
		//创建命令对象
		Statement cmd=con.createStatement();
		String sql="select *from student_test1";  //SQL查询语句
		ResultSet re=cmd.executeQuery(sql);
		while(re.next()){
			int sno=re.getInt(1);
			String sname=re.getString(2);
			String ssex=re.getString(3);
			String sdept=re.getString(4);
			//sname=new String(sname.getBytes("iso-8859-1"));
			System.out.printf("%-8d%-6s%-3s%-20s\n", sno,sname,ssex,sdept);
		}
    con.close();
	}

}

运行后就可以读取并显示我数据库的信息了,不过我显示出来是这样的:


其中存在乱码的问题,我也在网上找了许多关于乱码的资料,在连接时加上useUnicode=true&characterEncoding=GB2312,可还是不行,我又把数据库的编码方式改成GB2312还是不行,请教老师,老师叫我重新编码试试:sname=new String(sname.getBytes("iso-8859-1"));重新编码后还是不行,我真的不行了,还请各位前辈多多指点,看看我还有什么问题。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值