JDBC初探

一、JDBC 概念

Java 数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems商标[1]。JDBC是面向关系型数据库的。(来自wiki)

二、Java程序连接Mysql

准备工作:安装Mysql,并且新建数据库和数据表。

建库语句:

create database dep
建表语句:

create table person(
id int primary key,
name varchar(10),
sex char
);

连接Mysql代码:

public static Connection getConnection(String driverName, String url, String userName,
			String password) {
		Connection conn = null;
		try {
			Class.forName(driverName);
			conn = DriverManager.getConnection(url, userName, password);
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		
		return conn;
}

public static void main(String[] args) {
		String driverName = "com.mysql.jdbc.Driver";
		String url = "jdbc:mysql://127.0.0.1:3306/dep";
		String userName = "root";
		String password = "";
			
		Connection conn = getConnection(driverName, url, userName, password);
		try {
			Statement stat = conn.createStatement();
			String sql = "select * from person";
<span style="white-space:pre">			</span><p style="margin-top: 0px; margin-bottom: 0px; font-size: 14px; font-family: Helvetica; color: rgb(57, 51, 255);"><span style="color: #000000"><span style="white-space:pre">					</span> //   String sql = </span>"select * from person where name = ?"<span style="color: #000000">;</span></p><p style="margin-top: 0px; margin-bottom: 0px; font-size: 14px; font-family: Helvetica;"><span style="white-space:pre">			</span>                 //  PreparedStatement ps = conn.prepareStatement(sql);</p><p style="margin-top: 0px; margin-bottom: 0px; font-size: 14px; font-family: Helvetica;"><span style="white-space:pre">			</span>                 // ps.setString(1, <span style="color: #3933ff">"jim"</span>);</p><p style="margin-top: 0px; margin-bottom: 0px; font-size: 14px; font-family: Helvetica;"><span style="white-space:pre">			</span>                 // ResultSet rs = ps.executeQuery(sql);</p>
			ResultSet rs = stat.executeQuery(sql);
			while (rs.next()) {
				System.out.println(rs.getInt("id") + "  " + rs.getString("name")
						+ " " + rs.getString("sex"));
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
}

三、 SQL 数据类型与Java类型的映射关系表

从SQL到Java数据类型映射的JDBC规范
SQL类型Java类型
CHARjava.lang.String
VARCHARjava.lang.String
LONGVARCHARjava.lang.String
NUMERICjava.math.BigDecimal
DECIMALjava.math.BigDecimal
BITboolean
TINYINTbyte
SMALLINTshort
INTEGERint
BIGINTlong
REALfloat
FLOATdouble
DOUBLEdouble
BINARYbyte[]
VARBINARYbyte[]
LONGVARBINARYbyte[]
DATEjava.sql.Date
TIMEjava.sql.Time
TIMESTAMPjava.sql.Timestamp
BLOBjava.sql.Blob
CLOBjava.sql.Clob
Arrayjava.sql.Array
REFjava.sql.Ref
Structjava.sql.Struct

注:这种类型匹配不是强制性标准,特定的JDBC厂商可能会改变这种类型匹配。例如Oracle中的DATE类型是包含时分秒,而java.sql.Date仅仅支持年月日。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值