1、新建项目,新建lib文件,在lib文件中放入下载的MySQL连接驱动:
可以从http://www.everycoding.com/maven2/mysql/mysql-connector-java.html下载
2、构建路径,选择刚才添加的JDBC:
3、这样环境连接就配置好了,接下来可以测试一下,可以在数据库sqltestdb中创建如下数据表emp:
我这里是用workbench建立的表
如图所示:
在eclipse中项目下包sqldemo包下新建类Main,代码如下:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Main {
public static void main(String[] args) {
//声明Connection对象
Connection con;
//驱动程序名
String driver = "com.mysql.jdbc.Driver";
//URL指向要访问的数据库名mydata
String url = "jdbc:mysql://localhost:3306/sqltestdb";
//MySQL配置时的用户名
String user = "root";
//MySQL配置时的密码
String password = "123456";
//遍历查询结果集
try {
//加载驱动程序
Class.forName(driver);
//1.getConnection()方法,连接MySQL数据库!!
con = DriverManager.getConnection(url,user,password);
if(!con.isClosed())
System.out.println("Succeeded connecting to the Database!");
//2.创建statement类对象,用来执行SQL语句!!
Statement statement = con.createStatement();
//要执行的SQL语句 (1)
String sql = "select * from emp";
//3.ResultSet类,用来存放获取的结果集!!
ResultSet rs = statement.executeQuery(sql);
System.out.println("-----------------");
System.out.println("执行结果如下所示:");
System.out.println("-----------------");
System.out.println("姓名" + "\t" + "职称");
System.out.println("-----------------");
String job = null;
String id = null;
while(rs.next()){
//获取stuname这列数据
job = rs.getString("job");
//获取stuid这列数据
id = rs.getString("ename");
//输出结果
System.out.println(id + "\t" + job);
}
rs.close();
con.close();
} catch(ClassNotFoundException e) {
//数据库驱动类异常处理
System.out.println("Sorry,can`t find the Driver!");
e.printStackTrace();
} catch(SQLException e) {
//数据库连接失败异常处理
e.printStackTrace();
}catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally{
System.out.println("数据库数据成功获取!!");
}
}
}
Succeeded connecting to the Database!
-----------------
执行结果如下所示:
-----------------
姓名 职称
-----------------
张三 经理
李四 书记
周华 老师
小明 学生
数据库数据成功获取!!
接下来对数据增加和删除:(该段程序放在上面程序(1)的位置即可,可以实现增加一行记录的效果),具体使用到PrepareStatement在后面进行了介绍比较。
String name;
java.sql.PreparedStatement psql;
ResultSet res;
//预处理添加数据,其中有两个参数--“?”
psql = con.prepareStatement("insert into emp (empno,ename,job,hiredate,sal) "
+ "values(?,?,?,?,?)");
psql.setInt(1, 3216); //设置参数1,创建id为3216的数据
psql.setString(2, "王小明"); //设置参数2,name 为王小明
psql.setString(3, "总裁");
DateFormat dateFormat2 = new SimpleDateFormat("yyyy-MM-dd");
java.util.Date myDate2 = dateFormat2.parse("2010-09-13");//新建了日期
psql.setDate(4,new java.sql.Date(myDate2.getTime()));
psql.setFloat(5, (float) 2000.3);
psql.executeUpdate(); //执行更新
Succeeded connecting to the Database!
-----------------
执行结果如下所示:
-----------------
姓名 职称
-----------------
王刚 总裁
王小明 总裁
张三 经理
周华 老师
小明 学生
数据库数据成功获取!!
删除的代码如下:
java.sql.PreparedStatement psql;
psql = (PreparedStatement) con.prepareStatement("delete from emp where sal > ?");
psql.setFloat(1, 2000);
psql.executeUpdate(); psql.close();
下面这篇文章详细介绍了PreparedStatement和Statement的区别,应尽量使用PreparedStatement。
https://www.cnblogs.com/zeze/p/6598130.html PreparedStatement VS Statement