首先,我们需要准备的开发环境有:Java开发工具包(JDK)、数据库(如MySQL)、数据库驱动(如MySQLConnector/J)。
你可以从Oracle官网下载适合你操作系统的JDK版本,按照提示进行安装即可。相信这个大家早已经安装过了,在这里就不再多说了。
同样在官网下载MySQL安装包,按照提示进行安装。安装完成后,需要创建一个数据库和表,用于后续的测试。
在MySQL官网下载对应版本的MySQLConnector/J,将其解压后的jar文件添加到你的项目类路径中。具体的操作如下:
1、创建一个普通的空项目
填写上项目名称与路径
2、配置JDK版本
3、创建一个子模块(jdbc快速入门的程序在这里面写)
这里填写上子模块名称
然后下一步,点击ok,这个子模块就创建完成了
4、导入jar包
JDBC操作数据库步骤如下:
下面通过代码来了解一下JDBC代码的编写步骤与操作流程。
CREATEDATABASE`jdbc_test`DEFAULTCHARSETutf8mb4;CREATETABLE`account`(`id`int(11)NOTNULLAUTO_INCREMENTPRIMARYKEYCOMMENT'ID',`name`varchar(20)NOTNULLCOMMENT'姓名',`salary`int(11)COMMENT'薪资',);2、编写Java程序:packagecom.baidou.jdbc;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.Statement;publicclassJDBCDemo{publicstaticvoidmain(String[]args)throwsException{//1、注册驱动Class.forName("com.mysql.jdbc.Driver");//2、获取连接Stringurl="jdbc:mysql://127.0.0.1:3306/jdbc_testuseSSL=false";Stringuser="root";Stringpassword="123456";Connectionconn=DriverManager.getConnection(url,user,password);//3、定义sql语句Stringsql="insertintoaccount(name,salary)values('王强',10000)";//4、获取执行sql的对象StatementStatementstmt=conn.createStatement();//5、执行sqlintcount=stmt.executeUpdate(sql);//6、处理结果//打印受影响的行数System.out.println(count);System.out.println(count>0"插入成功":"插入失败");//7、释放资源stmt.close();conn.close();}}控制输出结果如下:
表中的数据:
JDBCAPI是Java语言访问数据库的标准API,它定义了一组类和接口,用于封装数据库访问的细节。主要包括以下几类:
(1)注册驱动:注册给定的驱动程序:staticvoidregisterDriver(Driverdriver);在com.mysql.jdbc.Driver类中存在静态代码块;写代码有固定写法:
Class.forName(“com.mysql.jdbc.Driver”);(2)获取数据库连接对象具体实现是通过:
DriverManager.getConnection(url,username,password);2、Connection数据库连接对象(1)创建sql执行对象
conn.createStatement();(2)可以执行事务的提交,回滚操作
conn.rollback();conn.setAutoCommit(false);3、Statement执行sql语句的对象用于向数据库发送要执行的sql语句(增删改查),其中有两个重要方法:
前者用于DML操作,后者用于DQL操作。
在上面介绍了可以通过JDBC对数据库进行增删改查操作,但是如果每次对数据库操作一次都要重新加载一次驱动,建立连接等重复性操作的话,会造成代码的冗余。
因此下面通过封装一个工具类来实现对数据库的增删改查操作。
properties文件是Java支持的一种配置文件类型(所谓支持是因为Java提供了properties类,来读取properties文件中的信息)。记得一定要将此文件直接放在src目录下!!!不然后面执行可能找不到此配置文件!!
driver=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/jdbcstudyuseUnicode=true&characterEncoding=utf8&useSSL=trueusername=rootpassword=lcl4030202、建立工具类JdbcUtils.java有了这个工具类,之后的增删改查操作可直接导入这个工具类完成获取连接,释放资源的操作,很方便,接着往下看。
packagejdbcFirstDemo.src.lesson02;importjdbcFirstDemo.src.lesson02.utils.JdbcUtils;importjava.sql.Connection;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;publicclassTestUpdate{publicstaticvoidmain(String[]args){Connectionconn=null;Statementst=null;ResultSetrs=null;try{conn=JdbcUtils.getConnection();st=conn.createStatement();Stringsql="updateuserssetname='haha'whereid=2";inti=st.executeUpdate(sql);if(i>0){System.out.println("修改成功!");}}catch(SQLExceptione){thrownewRuntimeException(e);}finally{JdbcUtils.release(conn,st,rs);}}}运行结果:
packagejdbcFirstDemo.src.lesson02;importjdbcFirstDemo.src.lesson02.utils.JdbcUtils;importjava.sql.Connection;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;publicclassTestDelete{publicstaticvoidmain(String[]args){Connectionconn=null;Statementst=null;ResultSetrs=null;try{conn=JdbcUtils.getConnection();st=conn.createStatement();Stringsql="deletefromuserswhereid=1";inti=st.executeUpdate(sql);if(i>0){System.out.println("删除成功!");}}catch(SQLExceptione){thrownewRuntimeException(e);}finally{JdbcUtils.release(conn,st,rs);}}}运行结果:删除掉了id=1的那一条数据
packagejdbcFirstDemo.src.lesson02;importjdbcFirstDemo.src.lesson02.utils.JdbcUtils;importjava.sql.Connection;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;publicclassTestQuery{publicstaticvoidmain(String[]args)throwsSQLException{Connectionconn=null;Statementst=null;ResultSetrs=null;conn=JdbcUtils.getConnection();st=conn.createStatement();//sqlStringsql="select*fromusers";rs=st.executeQuery(sql);while(rs.next()){System.out.println(rs.getString("name"));}}}运行结果:
本文从开发环境搭建到代码编写步骤以及JDBCAPI做了详细的讲解,最后通过封装一个工具类来实现对数据库的增删改查操作,希望能够帮助你快速入门JDBC,关于数据库连接池部分,我们下期接着讲,敬请期待哦!