在WebRoot下lib中添加jar会自动导入Web App Libraries,myeclipse才能访问mysql
1、先检查mysql看看我们用的表给存在
2、在src建一个test包下的Databasetest类
package tset;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;
/*使用JDBC连接数据库MySQL的过程
* DataBase:user
* table:tbuser
* */
public class Databasetest { /*新建的java类*/
private static int count;
public static Connection getConnection() throws SQLException,
java.lang.ClassNotFoundException
{
//(1)加载MySQL的JDBC的驱动 Class.forName("com.mysql.jdbc.Driver");
//取得连接的url,能访问MySQL数据库的用户名,密码,数据库名
String url = "jdbc:mysql://localhost:3306/user";
String username = "root";
String password ="1234";
//(2)创建与MySQL数据库的连接类的实例
Connection con = (Connection) DriverManager.getConnection(url, username, password);
return con;
}
public static void main(String args[]) {
try
{
//(3)获取连接实例con,用con创建Statement对象实例 sql_statement
Connection con = getConnection();
Statement sql_statement = (Statement) con.createStatement();
//插入语句
String sql = "insert into tb_user(uid,username,password,email,code,state)values(2,'张三','123456','[email protected]','3567','1')";
count=sql_statement.executeUpdate(sql);
//(4)执行查询,用ResultSet类的对象,返回查询结果
String query = "select * from tb_user";
ResultSet result = sql_statement.executeQuery(query);
System.out.println("用户数据如下:");
System.out.println("------------------------");
System.out.println("uid " + "username " + " password"+" email"+" code"+" state");
System.out.println("------------------------");
//对获得的查询结果进行处理,对Result类的对象进行操作
while (result.next())
{
int number=result.getInt("uid");
String name=result.getString("username");
String password=result.getString("password");
String email=result.getString("email");
String code=result.getString("code");
int state=result.getInt("state");
System.out.println("编号:" + number + " 用户名:" + name + " 密码:" +password+" 邮箱:"+email+" 激活码:"+code+" 是否激活:"+state);
//取得数据库中的数据
}
//关闭连接和声明 sql_statement.close();
con.close();
} catch(java.lang.ClassNotFoundException e) {
//加载JDBC错误,所要用的驱动没有找到
System.err.print("ClassNotFoundException");
//其他错误
System.err.println(e.getMessage());
} catch (SQLException ex) {
//显示数据库连接错误或查询错误
System.err.println("SQLException: " + ex.getMessage());
}
}
}
结果:用户数据如下:
------------------------
uid username password email code state
------------------------
编号:1 用户名:刘越 密码:ASDFGH123 邮箱:[email protected] 激活码:5678 是否激活:1
编号:2 用户名:张三 密码:123456 邮箱:[email protected] 激活码:3567 是否激活:1
java.sql 包中包含用于以下方面的 API:
通过 DriverManager 实用程序建立与数据库的连接
DriverManager 类:建立与驱动程序的连接
SQLPermission 类:代码在 Security Manager(比如 applet)中运行时提供权限,试图通过 DriverManager 设置一个记录流
Driver 接口:提供用来注册和连接基于 JDBC 技术(“JDBC驱动程序”)的驱动程序的 API,通常仅由 DriverManager 类使用
DriverPropertyInfo 类:提供 JDBC 驱动程序的属性,不是供一般用户使用的向数据库发送 SQL 语句
Statement:用于发送基本 SQL 语句
PreparedStatement:用于发送准备好的语句或基本 SQL 语句(派生自 Statement)
CallableStatement:用于调用数据库存储过程(派生自 PreparedStatement)
Connection 接口:提供创建语句以及管理连接及其属性的方法
Savepoint:在事务中提供保存点
获取和更新查询的结果
ResultSet 接口
SQL 类型到 Java 编程语言中的类和接口的标准映射关系
Array 接口:SQL ARRAY 的映射关系
Blob 接口:SQL BLOB 的映射关系
Clob 接口:SQL CLOB 的映射关系
Date 类:SQL DATE 的映射关系
NClob 接口:SQL NCLOB 的映射关系
Ref 接口:SQL REF 的映射关系
RowId 接口:SQL ROWID 的映射关系
Struct 接口:SQL STRUCT 的映射关系
SQLXML 接口:SQL XML 的映射关系
Time 类:SQL TIME 的映射关系
Timestamp 类:SQL TIMESTAMP 的映射关系
Types 类:提供用于 SQL 类型的常量
自定义映射 SQL 用户定义类型 (UDT) 到 Java 编程语言中的类
SQLData 接口:指定 UDT 到此类的一个实例的映射关系
SQLInput 接口:提供用来从流中读取 UDT 属性的方法
SQLOutput 接口:提供用来将 UDT 属性写回流中的方法
元数据
DatabaseMetaData 接口:提供有关数据库的信息
ResultSetMetaData 接口:提供有关 ResultSet 对象的列的信息
ParameterMetaData 接口:提供有关 PreparedStatement 命令的参数的信息
异常
SQLException:由大多数方法在访问数据出问题时抛出,以及因为其他原因由其他一些方法抛出
SQLWarning:为了指示一个警告而抛出
DataTruncation:为了指示数据可能已经被截断而抛出
BatchUpdateException:为了指示并不是批量更新中的所有命令都成功执行而抛出