一、实验目的
理解JDBC的工作原理,掌握JDBC访问数据库;掌握常见数据库MYSQL ;
二、实验要求
1.理解JDBC的应用。2.掌握JDBC的编程接口。
3.熟练使用MYEclipse开发简单应用
三、实验内容
项目结构:
现在使用JDBC写一个简单的小程序,主要是使用JDBC连接MySQL数据库,然后对数据库进行一些基本的增删改查操作。
1、设计数据库表
在用户表中定义了几个字段,分别是id,user_name,age,sex,create_dt,其中 id是主键,是自增长的,user_name表示用户名,age表示用户年龄,sex表示用户的性别,这里的性别用数字表示,0表示女性,1表示男性,create_dt表示创建的时间。预先在数据库中插入几条数据,数据如下。
2、定义实体类
定义一个 Bean,与数据库表中的各个字段对应:
package com.imooc.jdbc;
import java.sql.Date;
public class UserVO {
private int id;
private String userName;
private int age;
private int sex;
private Date createDt;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getSex() {
return sex;
}
public void setSex(int sex) {
this.sex = sex;
}
public Date getCreateDt() {
return createDt;
}
public void setCreateDt(Date createDt) {
this.createDt = createDt;
}
@Override
public String toString() {
return "UserVO [id=" + id + ", userName=" + userName + ", age=" + age
+ ", sex=" + sex + ", createDt=" + createDt + "]";
}
}
3、定义数据库连接类
定义一个数据库连接类,用于获取MySQL的连接
package com.imooc.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
public class DBUtil {
private static final String URI = "jdbc:mysql://localhost:3306/MySQL?"
+ "user=root&password=123456&useUnicode=true&characterEncoding=UTF-8";
private static final String DRIVER = "com.mysql.jdbc.Driver";
public static Connection connectDB() throws Exception {
//1、加载数据库驱动
Class.forName(DRIVER);
//2、获取数据库连接
Connection conn = DriverManager.getConnection(URI);
return conn;
}
}
注意!
MySQL的JDBC URL编写方式为: jdbc:mysqI:/l主机名称:连接端口/数据库的名称?参数=值,在这个例子中我连接的数据库主机是一台远程主机,所以主机名称为远程主机的ip地址,如果数据库主机为本机,则可以定义为localhost,在参数中指定用户名为root,密码也是root,为了避免中文乱码要指定useUnicode和 characterEncoding。因为连接的是MySQL数据库,所以程序一开始需要加载MySQL 的数据库驱动,然后通过 DriverManager.getConnection(String URL)方法获取数据库的连接。
4、实现数据库的增删改查
在获取了数据库的连接之后,就可以操作数据库了,下面分别实现数据库的增删改查操作,定义一个UserDao类用于操作数据库。
(1)查询
先看查询操作,查询可以一次查询出所有的数据,也可以根据相应的条件查询。查询所有的数据,在 UserDao 中定义一个queryAll(方法:
package com.imooc.jdbc;
import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
public class UserDao