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