数据库连接成功后,即可对数据库进行具体的操作
一、执行数据库数据的插入操作
使用PreparedStatement接口执行数据库数据的插入操作,代码如下 :
import java.sql.Connection ;
import java.sql.DriverManager ;
import java.sql.PreparedStatement ;
import java.text.SimpleDateFormat ;
public class AddDemo{
//定义Mysql数据库驱动程序
public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;
//定义Mysql数据库连接地址
public static final String DBURL = "jdbc:mysql://localhost:3306/czm" ; //czm为数据库名称
//所连接的Mysql数据库的用户名
public static final String DBUSER = "root" ;
//所连接的Mysql数据库的密码
public static final String DBPASS = "123456" ;
public static void main(String args[]) throws Exception{
Connection conn = null ; //连接数据库
PreparedStatement pstmt = null ; //操作数据库
//设置插入数据库数据
String name = "Tony" ; //姓名
String password = "123456" ; //密码
int age = 20 ; //年龄
String sex = "男" ; //性别
String birthday = "2018-11-29" ; //生日
java.util.Date temp = null ; //声明一个Date对象
//通过SimpleDateFormat类将一个字符串变为java.util.Date类型
temp = new SimpleDateFormat("yyyy-MM-dd").parse(birthday) ;
//通过java.util.Date类的getTime()方法取出具体的日期,并将其变为java.sql.Date类型的数据
java.sql.Date bir = new java.sql.Date(temp.getTime()) ;
//编写预处理SQL语句
String sql = "INSERT INTO user(name,password,age,sex,birthday) VALUES (?,?,?,?,?)" ;
Class.forName(DBDRIVER) ; //加载驱动程序
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ; //连接数据库
pstmt = conn.prepareStatement(sql) ; //实例化PreparedStatement对象,注意此时prepare后面没有d
pstmt.setString(1,name); //设置第一个"?"的内容
pstmt.setString(2,password); //设置第二个"?"的内容
pstmt.setInt(3,age); //设置第三个"?"的内容
pstmt.setString(4,sex); //设置第四个"?"的内容
pstmt.setDate(5,bir); //设置第五个"?"的内容
pstmt.executeUpdate(); //执行数据库数据的更新操作
pstmt.close() ; //操作关闭
conn.close() ; //关闭数据库
}
}
程序运行结果 :
二、执行数据库数据的删除操作
使用PreparedStatement接口执行数据库数据的删除操作,代码如下 :
import java.sql.Connection ;
import java.sql.DriverManager ;
import java.sql.PreparedStatement ;
public class DeleteDemo{
public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;
public static final String DBURL = "jdbc:mysql://localhost:3306/czm" ; //czm为数据库名称
public static final String DBUSER = "root" ;
public static final String DBPASS = "123456" ;
public static void main(String args[]) throws Exception{
Connection conn = null ; //连接数据库
PreparedStatement pstmt = null ; //操作数据库
Class.forName(DBDRIVER) ; //加载驱动程序
String sql = "DELETE FROM user WHERE id=4;" ; //编写SQL操作语句
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ; //连接数据库
pstmt = conn.prepareStatement(sql) ; //实例化PreparedStatement对象,注意此时prepare后面没有d
pstmt.executeUpdate(); //执行数据库数据的更新操作
pstmt.close() ; //操作关闭
conn.close() ; //关闭数据库
}
}
程序运行结果 :
三、执行数据库数据的修改操作
使用PreparedStatement接口执行数据库数据的修改操作,代码如下 :
import java.sql.Connection ;
import java.sql.DriverManager ;
import java.sql.PreparedStatement ;
public class UpdateDemo{
public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;
public static final String DBURL = "jdbc:mysql://localhost:3306/czm" ; //czm为数据库名称
public static final String DBUSER = "root" ;
public static final String DBPASS = "123456" ;
public static void main(String args[]) throws Exception{
Connection conn = null ; //连接数据库
PreparedStatement pstmt = null ; //操作数据库
Class.forName(DBDRIVER) ; //加载驱动程序
//编写SQL操作语句
String sql = "UPDATE user SET name='czm',password='654321',age=25,sex='女',birthday='2018-11-28'WHERE id=5;" ;
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ; //连接数据库
pstmt = conn.prepareStatement(sql) ; //实例化PreparedStatement对象,注意此时prepare后面没有d
pstmt.executeUpdate(); //执行数据库数据的更新操作
pstmt.close() ; //操作关闭
conn.close() ; //关闭数据库
}
}
程序运行结果 :
四、 执行数据库数据的查询操作
使用PreparedStatement接口与ResultSet接口执行数据库数据的查询操作,代码如下 :
import java.sql.Connection ;
import java.sql.DriverManager ;
import java.sql.PreparedStatement ;
import java.sql.ResultSet ;
public class SelectDemo{
public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;
public static final String DBURL = "jdbc:mysql://localhost:3306/czm" ; //czm为数据库名称
public static final String DBUSER = "root" ;
public static final String DBPASS = "123456" ;
public static void main(String args[]) throws Exception{
Connection conn = null ; //连接数据库
PreparedStatement pstmt = null ; //操作数据库
String keyWord = "c" ; //设置查询关键字
ResultSet rs = null ; //保存查询结果
//编写SQL操作语句
String sql = "SELECT id,name,password,age,sex,birthday FROM user WHERE name LIKE ? OR password LIKE ?" ;
Class.forName(DBDRIVER) ; //加载驱动程序
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ; //连接数据库
pstmt = conn.prepareStatement(sql) ; //实例化PreparedStatement对象,注意此时prepare后面没有d
pstmt.setString(1,"%" + keyWord + "%"); //设置第一个"?",使用模糊查询
pstmt.setString(2,"%" + keyWord + "%"); //设置第二个"?",使用模糊查询
rs = pstmt.executeQuery() ; //实例化ResultSet对象
while(rs.next()){ //指针向下移动
int id = rs.getInt(1); //取得id内容
String name = rs.getString(2); //取得name内容
String pass = rs.getString(3); //取得password内容
int age = rs.getInt(4) ; //取得age内容
String sex = rs.getString(5); //取得sex内容
java.util.Date d = rs.getDate(6); //取得birthday内容
//输出查询结果
System.out.print("编号 :" + id + "; ");
System.out.print("姓名 :" + name + "; ");
System.out.print("密码 :" + pass + "; ");
System.out.print("年龄 :" + age + "; ");
System.out.print("性别 :" + sex + "; ");
System.out.println("生日 :" + d + "; ");
System.out.println("-------------------------------------------------------------------------") ;
}
rs.close() ; //关闭结果集
pstmt.close() ; //关闭操作
conn.close() ; //关闭数据库
}
}
程序运行结果 :
以上程序进行的是模糊查询,"%"表示通配符。如果此时需要查询全部数据,则SQL语句如下 :
String sql = "SELECT id,name,password,age,sex,birthday FROM user" ;