DAO操作--以MySQL为例

1.1 MySQL数据库基础

MySQL 是一个真正的多用户、多线程SQL数据库服务器,MySQL具有小巧、功能齐全、查询迅捷等优点 ,MySQL 对于一般中小型,甚至大型应用都能够胜任。

1.2 数据类型和数据表 

用于保存数据记录的结构被称为数据表。
而每一条数据记录则是由更小的数据对象,即数据类型组成。
Database < Table < Record < Datatype
MySQL 数据库提供了多种数据类型,其中较为常用的几种如下:
CHAR (M)  
CHAR数据类型用于表示固定长度的字符串,可以包含最多达255个字符。其中M代表字符串的长度。
VARCHAR (M)
VARCHAR是一种比CHAR更加灵活的数据类型,同样用于表示字符数据,但是VARCHAR可以保存可变长度的字符串。
其中M代表该数据类型所允许保存的字符串的最大长度
INT (M) [Unsigned]
INT数据类型用于保存从- 2147483647 到2147483648范围之内的任意整数数据。如果用户使用Unsigned选项,则有效数据范围调整为0-4294967295。
FLOAT [(M,D)]
FLOAT数据类型用于表示数值较小的浮点数据,可以提供更加准确的数据精度。其中,M代表浮点数据的长度(即小数点左右数据长度的总和),D表示浮点数据位于小数点右边的数值位数。
DATE
DATE数据类型用于保存日期数据,默认格式为YYYY-MM-DD。
TEXT / BLOB
TEXT和BLOB数据类型可以用来保存255 到65535个字符,如果用户需要把大段文本保存到数据库内的话,可以选用TEXT或BLOB数据类型。TEXT和BLOB这两种数据类型基本相同,唯一的区别在于TEXT不区分大小写,而BLOB对字符的大小写敏感。
SET
SET数据类型是多个数据值的组合
例如:transport SET ("truck", "wagon") NOT NULL;
ENUM
ENUM数据类型和SET基本相同,唯一的区别在于ENUM只允许选择一个有效数据值。

在MySQL数据库中创建新的数据表: 

CREATE TABLE test ( 
name VARCHAR (15), 
email VARCHAR (25), 
phone_number INT,
ID INT NOT NULL AUTO_INCREMENT, 
PRIMARY KEY (ID));
主要的参数选项 

Primary Key
具有Primary Key限制条件的字段用于区分同一个数据表中的不同记录。
Auto_Increment
具有Auto_Increment限制条件的字段值从1开始,每增加一条新记录,值就会相应地增加1。
NOT NULL
NOT NULL限制条件规定用户不得在该字段中插入空值。
添加记录
使用INSERT命令向数据库中添加新的记录

INSERT INTO test VALUES ('John', 'carrots@mail.com',5554321, NULL);

查询数据

使用SELECT命令进行数据的查询。例如:

SELECT * FROM test WHERE (name = "John");

删除数据

使用DELETE命令。

DELETE FROM test WHERE (name = "");

修改数据
使用UPDATE命令。

UPDATE test SET name = 'Mary' WHERE name = "John";

1.3配置MySQL数据库

安装完成后,可以选择Configure the MySQL Server now来启动MySQL的设置向导
一般选择Standard Configuration(标准配置模式)。 

选择Install As Windows Service选项,Service Name可以自己选择和设置,选中Launch the MySQL Server automatically(自动启动MySQL服务)。

对话框中单击Next按钮后,弹出的对话框,可进行root用户密码的设置,设置完成后单击Next按钮,然后单击Execute即可开始MySQL的配置。

1.4用JDBC访问MySQL数据库

JDBC是一种Java数据库连接API,它为Java程序员提供了一种在Java代码中访问关系数据库的标准方法。
JDBC可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
一个Java程序要访问数据库,需通过以下几步来完成:
第一,打开数据库连接;
第二,建立语句对象;
第三,通过该语句对象将SQL语句传送给数据库,进行数据库操作;
第四,获取结果及有关结果集的信息。

使用JDBC连接MySQL数据库需要首先下载驱动文件,即Connector。
下载后的文件为压缩文件mysql-connector-java-5.1.6.zip,双击解压该文件。
将解压后的文件mysql-connector-java-5.1.6-bin.jar
拷贝到Web应用程序的WEB-INF\lib目录下或者在CLASSPATH环境变量中加入mysql-connector-java-5.1.6-bin.jar文件

在MyEclipse里面右键单击项目-〉propertie-〉Java Build Path-〉 Libraries-〉Add  External Jars ...

找到驱动文件的位置


这样JSP程序就可以通过JDBC接口访问MySQL数据库了。
1.4示例代码

先在MySQL中建立一个数据表

create table user
(name char(20),
password char(20),
email char(100),
user_id char(20),
primary key(user_id));

用insert into语句在表中增加数据。代码如下:
insert into user(name,password,email,user_id)
values(‘Yang’,’123’,’jyysc2010@qq.com’,’0001’);

通过JDBC连接到MySQL数据库

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>

</head>

<body>
	<%@ page contentType="text/html; charset=gb2312"%>
	<%@ page language="java"%>
	<%@ page import="com.mysql.jdbc.*"%>
	<%@ page import="java.sql.*"%>
	<%
		//驱动程序名
		String driverName = "com.mysql.jdbc.Driver";
		//数据库用户名
		String userName = "root";
		//密码
		String userPwd = "text";
		//数据库名
		String dbName = "test";
		//表名
		String tableName = "user";
		//连接字符串
		String url = "jdbc:mysql://localhost/" + dbName + "?user="
				+ userName + "&password=" + userPwd;
		Class.forName("com.mysql.jdbc.Driver").newInstance();
		java.sql.Connection conn = DriverManager.getConnection(url);
		out.print("数据库连接成功!");
		out.print("<br>");
		java.sql.Statement statement = conn.createStatement();
		String sql = "SELECT * FROM " + tableName;
		java.sql.ResultSet rs = statement.executeQuery(sql);
		// 输出每一个数据值
		out.print("编号  ");
		out.print("|");
		out.print("用户名");
		out.print("|");
		out.print("Email");
		out.print("<br>");
		while (rs.next()) {
			out.print(rs.getString(4) + "   ");
			out.print("|");
			out.print(rs.getString(1) + "   ");
			out.print("|");
			out.print(rs.getString(3));
			out.print("<br>");
		}
		out.print("<br>");
		out.print("数据库操作成功!");
		rs.close();
		statement.close();
		conn.close();
	%>

</body>
</html>

运行结果






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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值