怎么使用JAVA连接数据库?

Python012

怎么使用JAVA连接数据库?,第1张

1、加载驱动程序。

2、创建连接对象。

3、创建sql语句执行对象 。

4、执行sql语句。

5、对执行结果进行处理。

6、关闭相关的连接对象即可(顺序跟声明的顺序相反)。

处理结果两种情况:

1、执行更新返回的是本次操作影响到的记录数。

2、执行查询返回的结果是一个ResultSet对象。

ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些 行中数据的访问。

扩展资料:

Statement

要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下3 种类型:

1、执行静态SQL语句。通常通过Statement实例实现。

2、执行动态SQL语句。通常通过PreparedStatement实例实现。

3、执行数据库存储过程。通常通过CallableStatement实例实现。

参考资料:百度百科JAVA

//此类为连接数据库并进行数据库的操作\x0d\x0aimportjava.sql.Connection\x0d\x0aimportjava.sql.DriverManager\x0d\x0aimportjava.sql.ResultSet\x0d\x0aimportjava.sql.SQLException\x0d\x0aimportjava.sql.Statement\x0d\x0apublicclassConn{\x0d\x0aprivatestaticConnectionconn=null\x0d\x0aprivatestaticStatementst=null\x0d\x0aprivatestaticResultSetrs=null\x0d\x0a//建立数据库的连接\x0d\x0apublicConn(){\x0d\x0aStringurl="jdbc:sqlserver://localhost:1433databaseName=ZYGX"\x0d\x0aStringuser="sa"\x0d\x0aStringpassword="123"\x0d\x0atry{\x0d\x0aClass.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")\x0d\x0aconn=DriverManager.getConnection(url,user,password)\x0d\x0ast=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)\x0d\x0a}catch(ClassNotFoundExceptione){\x0d\x0ae.printStackTrace()\x0d\x0a}catch(SQLExceptione){\x0d\x0ae.printStackTrace()\x0d\x0a}\x0d\x0a}\x0d\x0a\x0d\x0a//通过不同的sql语句,得到相应Resultset结果集\x0d\x0apublicResultSetgetRs(Stringsql){\x0d\x0atry{\x0d\x0ars=st.executeQuery(sql)\x0d\x0a}catch(SQLExceptione){\x0d\x0ae.printStackTrace()\x0d\x0a}\x0d\x0areturnrs\x0d\x0a}\x0d\x0a//根据不同的sql语句,执行数据库的更新操作\x0d\x0apublicintupdata(Stringsql){\x0d\x0aintnum=0\x0d\x0atry{\x0d\x0anum=st.executeUpdate(sql)\x0d\x0a}catch(SQLExceptione){\x0d\x0ae.printStackTrace()\x0d\x0a}\x0d\x0areturnnum\x0d\x0a}\x0d\x0a//关闭数据库连接相应的资源\x0d\x0apublicvoidclose(){\x0d\x0atry{\x0d\x0aif(rs!=null){\x0d\x0ars.close()\x0d\x0ars=null\x0d\x0a}\x0d\x0aif(st!=null){\x0d\x0ast.close()\x0d\x0ast=null\x0d\x0a}\x0d\x0aif(conn!=null){\x0d\x0aconn.close()\x0d\x0aconn=null\x0d\x0a}\x0d\x0a}catch(SQLExceptione){\x0d\x0ae.printStackTrace()\x0d\x0a}\x0d\x0a}\x0d\x0a}\x0d\x0a----------------------------------------------------------------------\x0d\x0a//可以对button里添加动作按钮:\x0d\x0afinalJButtonbutton=newJButton()\x0d\x0abutton.addActionListener(newActionListener(){\x0d\x0apublicvoidactionPerformed(finalActionEvente){\x0d\x0aConnconn=newConn()\x0d\x0aStringsql1="select*fromaawherename='"+name+"'"//按name值查找\x0d\x0aResultSetrs=conn.getRs(sql1)\x0d\x0atry{\x0d\x0awhile(rs.next()){\x0d\x0aintn=rs.getString("type")\x0d\x0a}\x0d\x0a}catch(SQLExceptione){\x0d\x0ae.printStackTrace()\x0d\x0a}\x0d\x0aStringname=textField.getText()\x0d\x0aStringsql="updateaasettittle='"+name+"'"//从aa表将title字段的值改成textField里的name值\x0d\x0aStringsql2="deletefromaawherename='"+name+"'"//从aa表将按取得name的值删除该行数据\x0d\x0aStringsql3="insertintoaa(name,uname)values('"+name+"','"')"//将name,uname值新增到aa表\x0d\x0aif(conn.update(sql)==1){\x0d\x0aSystem.out.print("修改成功")\x0d\x0a}\x0d\x0aif(conn.update(sql2)==1){\x0d\x0aSystem.out.print("删除成功")\x0d\x0a}\x0d\x0aif(conn.update(sql3)==1){\x0d\x0aSystem.out.print("新增成功")\x0d\x0a}\x0d\x0a}\x0d\x0a})

jdbc连接数据库,DriverManger等初始化连接,prepareStatement语句执行sql,ResultSet拿到执行结果,while result.hasNext循环拿到数据值等。

如果不用jdbc,可以用框架,hibernate,mybatis都是可以的。

详情可以私聊我,手机打字太累了。